这里先介绍一下事务,事务是性能测试中非常重要的一个概念,可以说,性能测试基本都是基于事务的。
一个事务通常代表一个功能,通常包含多个请求。
举个简单的例子,打开一个详情查看页面,页面里包含有js,图片,后台请求;我们通常会把这种情况创建一个事务,然后事务中包含js请求,图片请求,后台API请求;
这里最后我们关注的是用户打开详情查看页面的性能情况。而不是单独关注js请求,图片请求,后台API请求。我们关注的是事务整体的情况。
如下再以Jmeter配置为例,如下截图使用了事务控制器
如上图,事务控制器节点下包含两个业务请求,同时勾选“Generate parent sample”
运行结果如下:
可以看到在聚合报告中统计的是事务控制器的响应数据。
如果不勾选“Generate parent sample”,聚合报告结果如下,事务响应时间等于其节点下请求的和。如果是调试定位问题,建议不勾选这个选项,一旦事务响应时间超标,便于分析等位是哪个业务请求慢导致的问题;
无论是否勾选这个选项,如果事务控制器节点下的请求失败了,事务控制器的结果都是失败。这也是符合我们期望的。
另外一个选项“Include duration of timer and pre-post processors in generated sample”,默认不勾选,一般建议不勾选。勾选后,在生成的样本中包括计时器,预处理和后处理延迟,会把额外的时间算进来,增加干扰。
网友评论