jmeter负载测试结果说明

Explanation of results of load test in jmeter

我做了我的第一个负载测试,但我对它的理解有些困难。 我需要检查 php5 和 php7.

项目的工作情况

结果截图:

php7 + nginx

php5 + apache

我读到 google 较低的平均响应时间(蓝线)意味着较高的吞吐量(绿线),但在我的图形上它是相同的向量,响应时间越长意味着吞吐量越大。这怎么可能是真的?可能是我做错了

是的,php7 的平均响应时间更快。但是 php5apache 和 php7nginx 之间有那么点不同。

如果需要更多信息,我可以轻松提供。

不知道你做了什么,就不可能说出任何连贯的话。但是如果您 运行 在一段时间内拥有相当数量的用户,这里有一些想法:

如果吞吐量和平均值都持平(水平线)(php5 + apache)它可以是

  • 要么达到饱和点,即如果每单位时间添加更多用户或请求,吞吐量不会增长,但平均值会增长(变得更糟)

  • 但也可能是对于给定的负载,jmeter and/or 服务器不会更快地处理请求,但是您还没有达到饱和点。 IE。添加更多用户或增加每单位时间的请求数量会增加吞吐量,而不会改变平均值。

如果吞吐量在增长而平均值相当平稳 (php7 + nginx)

  • 要么你在测试运行s的时候不断增加负载。这可以是有计划的(例如,您从非常缓慢的启动开始)或无计划的(例如,脚本中的某些逻辑导致了您不打算拥有的这种行为,或者 JMeter 环境中的某些东西导致了这种行为)。在这种情况下平均值是没有用的,因为负载较低的平均值会影响负载较高的平均值,尤其是偏差确实会逐渐增加。

  • 或者您的服务器需要一些时间来启动(因此在 运行ning 一段时间后,它能够在单位时间内处理比测试开始后更多的请求)。因此,您甚至还看不到 "typical" 性能,因为图表结束时吞吐量仍在上升。

  • 如果此吞吐量持续增长数小时(给定恒定负载),那将是非常困难的运行ge。我能想象的唯一情况是 average/throughput 结果中是否包含失败。在某些服务器上,失败比成功的 t运行 次要快得多(或慢得多)。因此,如果失败是同一平均值的一部分,并且有很多,它们可能会以某种方式影响结果,使结果变得像那样奇怪。

所以我想说你需要从结果中排除 "growing" 吞吐量并 运行 测试更长时间以查看它何时稳定(它会在某个时候,你可以在什么时候重置图表它达到 "horizontal line" 状态)。您还可以增加两个测试的负载以查看 php5 + apache 是否真的处于饱和点。