性能测试执行
3.1并发负载测试执行
我们采用二分逼近法来寻找并发负载测试的拐点,持续运行10分钟,如果测试错误百分比在5%以内(含5%)认为测试正常,否则认为测试出现异常。设置通过的最小值与失败最大值之间差值 (精度) 为<=15。
1)打开第1节搭建好的ebusiness_login.jmx。
2)运行,保证接口测试正确
3)去掉Debug Sampler
4)关闭JMeter图形界面。
5)在ebussine_login.jmx目录下打开命令行工具。
6)运行
C:\Users\xiang\...\code>jmeter -n -t ebussine_login.jmx -l loginlogfile.jtl
进行并发测试,在运行过程中观察被测机器的资源正常。关于JMeter的运行将在第10章详细介绍。
7)运行10分钟后,错误百分比为0%,说明系统可以承受50个用户的并发量。
8)将线程组的线程数与同步定时器的模拟用户组的数量都改为150。
9)删除loginlogfile.jtl。
10)关闭JMeter图形界面,再用第17)步的命令行运行,在运行过程中观察被测机器的资源正常。
11)错误百分比为0.21%,没有超过5%,还是在可接受范围内。
12)将线程组的线程数与同步定时器的模拟用户组的数量都改为250,删除loginlogfile.jtl,再进行测试,在运行过程中观察被测机器的资源正常。
13)错误百分比为3.67%,刚刚接近5%,还是在可接受范围内。
14)将线程组的线程数与同步定时器的模拟用户组的数量都改为275,删除loginlogfile.jtl,用以下命令再进行测试,在运行过程中观察被测机器的资源正常。
C:\Users\xiang\...\code>jmeter -n -t ebussine_login.jmx -l loginlogfile1.jtl
15)运行10分钟后,结果远远超过5%。说明负载测试的拐点在250到275之间。
16)将线程组的线程数与同步定时器的模拟用户组的数量都改为262,删除loginlogfile1.jtl,用以下命令再进行测试,在运行过程中观察被测机器的资源正常。
C:\Users\xiang\...\code>jmeter -n -t ebussine_login.jmx -l loginlogfile1.jtl
17)运行10分钟后,结果仍旧远远超过5%。说明负载测试的拐点在250-262之间。二者之间的差值为12,低于我们预先设置好的精度<=15,所以可以认为拐点为250。
18)打开压测端与被测端的监控工具(详见第11章介绍),对在并发数为250的场景下运行10分钟测试进行监控。
19)将loginlogfile.jtl载入汇总报告,见图8所示。
图8 载入loginlogfile.jtl后的汇总报告
我们关注的是商品列表的数据。
Ø 样本:21968。
Ø 平均值:2293。
Ø 最小值:34。
Ø 最大值:6022。
Ø 标准偏差:944.39。
Ø 异常%:6.08%。
Ø 吞吐量:37.2/sec。
Ø 接收KB/sec:218.44。
Ø 发送KB/sec:0.00。
Ø 平均字节数:6005.9。
20)将loginlogfile.jtl载入汇总图,见图9。
图9 载入loginlogfile.jtl后的汇总图的设置标签页信息
在这张报告中,信息更加详尽,我们仍旧摘出我们最关心的商品列表的数据。
Ø 样本:21968。
Ø 平均值:2293。
Ø 中位数:2204。
Ø 90%百分位:3549。
Ø 95%百分位:4012。
Ø 99%百分位:4806。
Ø 最小值:34。
Ø 最大值:6022。
Ø 异常%:6.08%。
Ø 吞吐量:37.2/sec。
Ø 接收KB/sec:218.44。
Ø 发送KB/sec:0.00。
21)设置所有的列属性,切换到图形标签页,如图10所示。
图10 载入loginlogfile.jtl后的汇总图的图形标签页信息
22)将loginlogfile.jtl载入聚合报告,见图11所示。
图11 载入loginlogfile.jtl后的聚合报告
显示的结果与汇总图是一样的。
23)将loginlogfile.jtl载入响应时间图,见图12所示。
图12 载入loginlogfile.jtl后的响应时间图设置标签页信息
24)切换到图形标签页,如图13所示。
图13 载入loginlogfile.jtl后的响应时间图图形标签页信息
25)将loginlogfile.jtl载入图形结果,见图14所示。
图14 载入loginlogfile.jtl后的图形结果
- 样本数:65168。
- 最新样本:1194。
- 平均:1594。
- 偏离:1059。
- 吞吐量:6,552.643/分钟。
- 中值:1478。
注意:当并发用户数增大的时候,如果Windows命令行界面出现:WARNING: Contention
waiting for a SAXParser. Consider increasing the XMLReaderUtils.POOL_SIZE
Sep 06, 2021 10:28:20 AM org.apache.tika.utils.XMLReaderUtils acquireSAXParser。忽略不管。