JMeter事务控制器(Transaction controller)

上一篇 / 下一篇  2014-12-01 15:24:00 / 个人分类:Jmeter

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

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

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

Transaction Controller_example

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

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

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

apache jmeter_transaction_Controller_result

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

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

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

Generate parent_sample

Generate parent_sample_result

这时候, 再跑一次测试, 你再看聚合报告的时候, 会发现,我们只能看到"事务控制器" 和 FAQ 页面的测试报告数据了.


TAG:

引用 删除 jwz_hz   /   2015-12-23 09:43:54
5
引用 删除 369987536   /   2015-11-24 16:33:44
5
引用 删除 krush008   /   2015-08-05 10:17:15
5
引用 删除 32191163   /   2015-03-31 09:35:02
5
引用 删除 32191163   /   2015-03-31 09:35:01
5
 

评分:0

我来说两句

Open Toolbar