jmeter中负载测试结果的说明

时间:2016-03-30 18:37:06

标签: php jmeter load-testing

我完成了第一次负载测试,我很难理解它。 我需要检查php5和php7的工作项目。

结果截图:

php7 + nginx

php5 + apache

我在google中读到较低的平均响应时间(蓝线)意味着更高的吞吐量(绿线),但在我的图形上它是相同的矢量,更大的响应时间意味着更大的吞吐量。它怎么可能是真的?可能是我犯了一些错误

是的,php7的平均响应时间更快。但它在php5apache和php7nginx之间有点差异。

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

1 个答案:

答案 0 :(得分:2)

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

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

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

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

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

  • 要么在测试运行时不断增加负载。这可以是计划好的(例如,你从非常缓慢的加速开始)或计划外的(例如,脚本中的某些逻辑会导致这种行为,你没有打算这样做,或JMeter环境中的某些东西导致它)。在这种情况下,平均值是相当无用的,因为负载较低的平均值会影响平均值和较高的负载,特别是因为偏差确实一点一点地增长。

  • 或者您的服务器需要一些时间才能提升(因此,在运行一段时间后,它可以在测试开始后立即处理每单位时间内更多的请求)。因此,您甚至不会看到"典型的"但是,由于图表在吞吐量仍在增加时结束。

  • 如果吞吐量持续增长数小时(给定恒定负载),那真的很奇怪。我能想象的唯一情况是,平均/吞吐量结果中是否包含故障。在某些服务器上,故障比成功的事务快得多(或慢得多)。因此,如果失败是同一平均值的一部分,并且有很多失败,那么它们可能会以某种方式影响结果,从而使结果变得奇怪。

所以我说你需要排除"成长"结果的吞吐量和运行测试的时间更长,以确定它何时稳定(它将在某个时刻,并且当它到达"水平线"状态时你可以重置图形)。您还可以增加两个测试的负载,以查看 php5 + apache 是否真的处于饱和点。

相关问题