首页 > 代码库 > Service-Level Agreement (服务水平协议)
Service-Level Agreement (服务水平协议)
Service-Level Agreement (服务水平协议)
SLA是为负载测试场景定义的具体目标。例如,评测脚本中任意数量事务的平均响应时间,可以定义具体的目标或阈值。测试运行结束之后,LoadRunner将你定义的目标与实际录制的平均事务响应时间进行比较,如果实际的平均事务响应时间未超过你定义的阈值,SLA状态将为通过,否则不通过。
作为目标定义的一部分,你可以指示SLA将负载条件考虑在内。这意味着可接受的阈值将根据负载级别而有所更改(例如,运行的Vuser数、吞吐量等)。随着负载的增加,你可以允许更大的阈值。
SLA与面向目标场景的主要区别是前者有一定的调整幅度,而面向目标场景是很具体的目标设定。
LR常见函数
1.事务函数
Lr_start_transaction(); //标记事务的开始
Lr_end_transaction(); //标记事务的结束,一般情况下,事务开始与结束联合使用
Lr_get_trans_instance_status(); //得到事务的状态,当事务由许多步骤组成,或者可能存在导致事务失败的执行点,这个函数非常有用,可以通过检查状态和终止Vuser,可以避免不必要的活动。
Lr_get_transaction_think_time(); //得到事务的指定思考时间。
Lr_stop_transaction(); //停止事务,该函数返回当前事务的持续时间,以毫秒为单位,当为错误时返回一个负数。
2.日志函数:
Lr_debug_message(); //发送调试信息到日志文件,这个函数将返回设定的字符,不包括终止null字符。错误时返回一个负值。
Lr_get_debug_message(); //返回当前调试的信息,其返回值根据不同设置返回不同的值。
Lr_error_message(); //发送错误信息到LR输入窗口或日志文件里,如果这个函数成功,返回发送的消息的长度。如果函数失败,它将返回一个负数。
Lr_log_message(); //发送信息到用户日志文件,如果这个函数成功,返回发送的消息的长度。如果函数失败,它将返回一个负数。
Lr_output_message(); //发送信息到输出窗口或日志文件
Lr_vuser_status_message(); //发送虚拟用户的状态到LR的Controller,如果它成功,这个函数返回0,如果事务的名字是非法的或如果和Lr_start_transaction事务开始名称不同时,返回1.
3.运行时函数:
Lr_abort(); //终止执行的脚本,它能停止执行action部分,Vuser end部分,以及结束脚本执行。当你需要手动终止运行的一个特定的错误条件可以使用这个函数。当你结束运行使用此函数时,状态是“停止”。
Lr_continue_on_error(); //当发生错误后运行的事件,参数为1表示发生错误继续运行脚本,参数为0表示取消出错继续运行脚本。
Lr_exit();//该函数允许你运行中退出脚本。在声明该函数的事务退出后不会出现在Controller的事务状态集合中,也不会被计入到通过和失败的事务数。
Lr_think_time();//设置思考时间,在性能测试中为了更好模拟以后操作,可以根据实际生产环境设置思考时间。
Lr_rendezous();//集合点,可以设置虚拟用户相同操作之间进行集合,通过集合点可以增加被测试应用的压力,从而达到压力测试的目的。
Lr_load_dll();//调用DLL文件,这个函数执行成功,将返回0, 如果导致内存溢出条件 返回10,如果文件不存在,返回11.
Service-Level Agreement (服务水平协议)