使用JMeter测试基于Web的应用程序,使用5、10、20、30和50个Vuser,持续时间为15分钟,生成报告如下。
所以对于事务名MyQuotation_T03为90%,20 Vuser响应时间小于10 Vuser响应时间,30 Vuser响应时间小于20 Vuser响应时间,50 Vuser响应时间小于20 Vuser响应时间。enter image description here
为什么会出现这种波动,如果客户问我响应时间应该是这样的5<10<20<30<50,但在报告中,它是反之亦然,所以我如何回答这个问题?为什么会这样?
有人能帮忙吗。
2条答案
按热度按时间5vf7fwbs1#
可能的情况是,10个用户和50个用户之间没有区别,因为您在测试系统上施加的“负载”是某种形式的statistical noise
尝试用100 -> 200 -> 300个用户重新运行测试,或者更好的是从1个用户和gradually increase the load开始,直到响应时间开始增长或错误开始出现,不管是第一个出现。换句话说,运行压力测试,在这种情况下,您将能够将增加的负载与增加的响应时间相关联。也可能是这样的情况:您的应用程序扩展以处理传入的负载,而响应时间根本不会增加,但新示例的数量将开始增加,因此您可能希望测量可伸缩性因素和/或资源消耗,而不是响应时间
d6kp6zgx2#
数据集中的样本越多,报告的质量就越高。假设所有用户每小时每个用户执行的周期数相同,那么10个用户将产生20个用户数据集的一半,这又是40个用户数据集的一半,依此类推。
随着数据集的增加,统计数据的完整性会变得更好。这适用于所有统计数据,平均值,模式,标准差,任何百分位值,最大值等。这就是你的大学统计课真正值得的地方。您需要运行多长时间的测试才能获得足够大的数据集,以获得统计上有效的数据进行分析?