首页 > 代码库 > JMeter学习(二十四)脚下当心

JMeter学习(二十四)脚下当心

1、JMeter元件的执行顺序与作用域

JMeter中的Config Elements在其作用范围内的行为与其他元件相比稍有不同。Config Elements元件分为两大类:Configuration Defaults(HTTP Request Defaults、FTP Request Defaults等)和Manager(HTTP  Header Manager、HTTP  Cookie Manager等)。其中Configuration Defaults元件中设置的值可以在作用域内叠加,例如,在一个Test Plan中添加两个HTTP Request Defaults,其中第一个Defaults中设置Server name or IP为www.google.cn,第二个Defaults中设置Path为/page-not-exist,则在这两个元件作用域内的所有HTTP Request Sampler,其默认的Server name or IP和Path均为www.google.cn和/page-not-exist。

Manager类Config Elements元件的效果则不能进行叠加。如果两个或两个以上相同的Manager类元件的作用域有重叠,则在重叠作用域内的Sampler元件只会随机受到其中一个的作用,这样会导致Sampler行为的不确定性。因此,在使用Manager类Config Elements时,一定要注意保证相同的Manager类元件的作用域不发生重叠。

 

2、控制器

JMeter中有一个很容易被误解的Logic Controller---Throughput Controller.该Controller从名称上看,很像是用于控制吞吐量,但实际上,该Controllerr的行为更像一个分配器,可以在不同的Sampler之间基于比例关系分配负载。

 

3、监视器

Listener作为一个收集Sampler的结果数据和呈现结果的元件,其本身会在每次Sampler运行完成后执行一次,因此一个Test Plan中的Listener数量越多,运行时Listener本身带来的开销就会越大。尤其是View Results in Table 和View Results Tree等Listener,当数据量较大时,Listener的开销会变得非常大。因此,在实际执行一个Test Plan时,建议首先禁用不需要的Listener,再开始执行。

一个更好的习惯是每次运行时将生成的结果写入结果文件中,这样以后就可以用各种不同的Listener来展现保存的结果数据

JMeter学习(二十四)脚下当心