您的位置:首页 > 其它

JMeter事务控制器(Transaction controller)

2016-06-19 17:26 399 查看
你肯定知道, jmeter是一个跨系统平台的性能测试工具,
比如他可以在linux,freebsd,windows,solaris 等等各种系统上可以运行. 我可以说, 事务 transaction controller 控制器是jmeter作性能测试中最重要的. 让我来分享一些关于事物控制器的经验吧. 

如果你看了录制jmeter脚本那一章, 你会知道jmeter会录制很多的子请求. 比如当打开首页后, 会继续打开图片, css等资源文件. 通常我们会剔除掉这些子请求, 但如果我需要衡量打开一个页面(包含所有子请求) 到底的性能, 请求时间如何时, 我们会计算包含所有子请求的数据.  这时我们必须使用事物控制器.  ( 当然除了这种情况,  在进行api的测试时, 通常也需要事物控制器, 例如 假设api1 获取tgt,  api2根据tgt 获取st,  假设该openauth 登陆的过程, 我们将这2步api的调用,
看做一次登陆成功. 那么我们需要将这2步操作,看为一个事务) .

让我们直接来看一个例子吧.



如上图, 有2个主要的http请求.  1个是主页请求, 主页请求又包含了4个子请求. 另外一个主请求是faq页面.

我添加了一个事务控制器(transaction controller),  将主页及其四个子请求都放在了该事务控制器下. 

我进行了一次测试,看下聚合报告里的内容. 



你可以看到一个事务控制器的标签.  这个事务器则包含了(Home Page, .jpg request,
.gif request, .png request, .js request)  这几个请求. 虽然我们把这几个请求的数据相加,可以得到类似于该控制器的数据. 但仅仅是相似而已.

事务控制器中的声称父sample(采样)的标志位的含义.

如果选中了该标志位, 则你不会看到事务控制器包含的所有子元素. 





这时候, 再跑一次测试, 你再看聚合报告的时候, 会发现,我们只能看到"事务控制器" 和 FAQ 页面的测试报告数据了.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jmeter 事务控制器