如果有如下接口逻辑,Jmeter有2种实现方式:
添加3个测试片段,C测试片段包含requestC1和requestC1;D测试片段包含requestD1和requestD1;E测试片段包含requestE1和requestE1。再添加模块控制器,用于选择执行完A和B之后执行那个测试片段:
第二种方法,添加三个简单控制器在交替控制器下面:
如果几个请求组成了一个事务,需要测试整个事务的响应时间,可以添加一个事务控制器,把对应的请求按顺序放在事务下面:
一定要勾选上“Generate parent sample”来去除事务造成的多余时间:
为了保证每次请求都是正确的,可以给请求添加“响应断言”
集合点是用来模拟并发的,除了秒杀场景,不建议使用同步定时器来同时发送请求,一般的业务场景建议使用随机思考时间。
性能测试时,不要开起查看结果树,or只查看error结果信息:
需要添加汇总报告和聚合报告来查看性能测试结果:
samples:每个请求执行了多少次
average:平均响应时间毫秒;
Min:最小响应时间;
Max:最大响应时间;
std Dev:标准方差,越大表示数据的离散程度越小,平均值就越可靠,方差/average不要超过1。
error:错误率;
Throughtput:tps,每s处理多少请求;
Received KB/s:每秒从服务器接受的数据的大小;
Sent KB/s:每次请求发送和接受的平均数据量
先看汇总报告,如果average和方差不大,平均值可靠就不用看聚合报告,如果汇总报告中的标准方差较大,请求的响应值很分散,就需要查看聚合报告中的3个用户体验数据(90% 95%99% line)90% Line:有90%的响应时间小于145mm,95%,99%同理。这些用户体验数据是可以在Jmeter.properties文件中修改。
注意:如果修改了jmeter的log属性,使用命令行再次运行脚本时,一定要重命名log文件,如果log文件名相同,测试结果会追加到以前的文件后面,以前是csv格式,修改后是xml格式,这样这个log文件的前后格式不一致,就无法使用Jmeter GUI打开查看了。
添加一个Property Display元件,可以在里面看到System和Jmeter Properties: