性能测试执行 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后的图形结果
注意:当并发用户数增大的时候,如果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。忽略不管。