SLA(Service Level Agreement,服务水平协议) 是LoadRunner中用于定义性能测试目的的一种机制。作用是:
设定目的:在测试执行前,确定定义各项性能标准需要达到的阈值
自动比对:测试结束后,LoadRunner Analysis自动将采集的性能数据和SLA目的进行比对
结果决定:给出每个SLA目的的通过/失败状态,帮助快速考虑系统是不是满足性能要求
SLA的三种状态:
Pass:获得测试数据,且数据达到目的要求
Fail:获得测试数据,但测试结果未达到目的要求
No Data:未获得该项测试数据,无法判断
SLA支持度量的标准类型
LoadRunner SLA支持两大类度量方式:
1. 按时间间隔考虑
在运行过程中按预设时间间隔(如每10秒)检查标准是不是偏离阈值。支持的标准:
事务响应时间(平均值) - 每个时间间隔内的事务平均响应时间
每秒错误数 - 每个时间间隔内的错误发生频率
2. 按整个运行周期考虑
对整个测试运行周期给出单一的SLA状态。支持的标准:
事务响应时间(百分位数) - 如90%的事务响应时间是不是达标
总点击次数(Total Hits)
平均点击率(Hits per second)
总吞吐量(Total Throughput)
平均吞吐量(Bytes per second)
SLA配置步骤
SLA可以在Controller(测试运行前)或Analysis(测试运行后)中定义。
配置流程
步骤1:打开SLA配置向导
在Controller的Design选项卡中,点击SLA面板的New按钮
或在Analysis中,选择 Tools - Configure SLA Rules,点击New
步骤2:选择度量目的
选择要考虑的标准类型(如事务响应时间、吞吐量、错误率等)
如果选择事务响应时间,有两种度量方式:
百分比方式:设置百分位(如90%)和阈值时间(如2秒),表示90%的事务响应时间不得超过该阈值
平均响应时间方式:设置平均响应时间的上限
步骤3:选择监控对象
选择要监控的具体事务需保证脚本中已插入事务
步骤4:设置负载条件
可指示SLA将不同的负载级别考虑在内,不同负载下可设置不同的阈值
如:轻负载(0-19 Vuser)阈值5秒,平均负载(20-49 Vuser)阈值10秒,重负载(50+ Vuser)阈值15秒
步骤5:设置阈值
输入具体的阈值数值
对于平均响应时间方式,需为每个负载区间分别设置阈值
步骤6:保存SLA
完成配置后保存,Analysis会自动更新报告以包含SLA信息
跟踪周期(Tracking Period)设置
对于按时间间隔考虑的SLA,需要设置跟踪周期-即系统检查SLA状态的时间间隔频率。可在SLA面板的Advanced按钮中配置:
内部计算:Analysis自动设置为最小值(至少5秒),公式为 Tracking Period = Max(5秒, 聚合粒度)
手动指定:选择至少X秒,Analysis会取不小于X的聚合粒度倍数
告警规则和阈值设置
1. 告警规则的配置入口
在Analysis中,可通过 Tools > SAP Diagnostics Alerts Configuration 访问告警配置。界面中:
Generate alert if 列列出所有设定义的告警规则
Threshold 列用于设置每条规则的阈值
默认所有设定义告警规则为启用状态,可勾选取消来禁用特定规则
2. 阈值设置的规则
超过即失败:如果在运行期间的某个时间间隔内,标准超过了设定的最大阈值,Analysis会将该时间间隔的SLA状态标记为Failed
最小值约束:对于Total Hits、Throughput等整体运行标准,如果测量值低于设定的最小阈值,整个运行的SLA状态将标记为Failed
阈值精度:百分位数SLA的阈值可精确到小数点后3位
灵活分配:不同事务可以分配不同的阈值,不必相同
3. 运行时实时告警
在LoadRunner Controller中,测试执行期间可以实时查看SLA的达成情况,即时了解系统在高负载下的性能是不是达标。
SLA结果解读和故障排查
1. 结果可视化
在Analysis中,SLA结果通过快照视图直观展示:
横坐标:场景执行时间
纵坐标:事务响应时间
红色曲线:运行的虚拟用户数
绿色曲线:事务响应时间
黑色曲线:SLA定义的阈值
如果绿色曲线超过黑色曲线,则该时间点的SLA状态为Fail。
2. 故障排查途径
当SLA出现失败时,可按以下途径定位问题:
从测试报告中查找整体情况
从Analysis图表中初步定位问题(精确到具体事务)
通过网页细分图确定问题发生在哪个步骤(客户端、网络、服务器)
进一步确定具体是哪台服务器出问题(应用服务器还是数据库服务器)
重视服务器系统资源图、Analysis分析图表、网页细分图
3. 分析事务详细信息
点击 Analyze Transaction 按钮可查看事务的详细信息:
事务摘要信息
关联信息:脚本错误、系统资源消耗、Web资源消耗、数据库资源消耗
错误信息:错误类型、错误代码、事务名称、脚本、代码行数、出错的虚拟用户
快照视图:时间域内事务响应时间的详细变化