比较上面两个图表可以发现,20_20_10_2时各时间点基本都平均分布在1.5秒之内,仅有极少数几个点在1.5秒之外,且最大不超过4秒,由此可以认为对这些值取平均值的误差是可以接受的。而30_20_10_2时在测试开始阶段(800笔之前)和结束阶段(4500笔之后)的时间点明显高于中间阶段的时间点,这应该是由于压力大时在测试开始阶段30个browser进程没有很快把压力压向fcgi(压力小时也有这种情况,但时间会小的多),这样造成30个browser进程也不是在相近时间内结束,在结束阶段只有少数browser进程仍没有完成,这时的系统压力变小,fcgi进程等待HTTP请求时间也变长。在30_20_10_2时这种非正常压力时间段很长并且数据差距很大,这时取全部时间段内的数值的平均值必然带来误差。从上图可以看到,应该取800笔到4500之间系统稳定时的数据作为有效数据。注意其他环节的进程的时间统计也需要按这一笔数范围作为有效数据。经过修正后的全部数据见下表。数据基本正常。 10_10_5_2(ms)20_20_10_2(ms)30_20_10_2(ms)
TPC(笔/秒) 2.169672.285712.21911
browser 4609875013519
fcgireceive from fcgi343931954
tpcall409676148575
tpcommit176204202
total_fcgi461587499731
svr_ccreceive from TE4
16
18
service_before_tpcall134634014201
tpcall927927598
service_after_tpcall38
45
53
total_svr_cc2315
4389
4870
waiting&receive from TE289267555
service636
611
418
经验:有时取平均值会有较大的误差,尤其是测试不完全正常的情况。这时需要仔细分析原始数据,排除造成误差的数据,以系统稳定(正常)时的数据作为有效数据。这里excel图表功能是一个非常好用的工具。
文章来源于领测软件测试网 https://www.ltesting.net/