我做了第一次负载测试,理解起来有些困难。我需要检查项目与php5和php7的配合情况。
结果截图:
php7+nginx
php5+apache
我在谷歌上读到,较低的平均响应时间(蓝线)意味着较高的吞吐量(绿线),但在我的图形上,它是相同的矢量,较大的响应时间意味着较大的吞吐量。这怎么可能是真的?我可能犯了一些错误
是的,php7的平均响应时间更快。但是php5apache和php7nginx之间的差别太小了。
如果需要更多信息,我可以很容易地提供。
如果不知道自己做了什么,就不可能说出任何连贯的话。但是,如果你在一段时间内运行了相当数量的用户,这里有几个想法:
如果吞吐量和平均值都是平的(水平线)(php5+apache)则可以是
-
要么你达到了饱和点,也就是说,如果你在每单位时间内增加更多的用户或请求,吞吐量不会增长,但平均值会增长(变得更糟)
-
但也可能是,对于给定的负载,jmeter和/或服务器不会更快地处理请求,但您还没有达到饱和点。也就是说,在不改变平均值的情况下,增加更多的用户,或者增加每单位时间的请求数量,都会增加吞吐量。
如果吞吐量在增长,而平均吞吐量相当平稳(php7+nginx)
-
要么是在测试运行时不断增加负载。这可以是有计划的(例如,您从非常缓慢的斜坡上升开始),也可以是无计划的(如,脚本中的某些逻辑导致了这种行为,而您并不打算这样做,或者是JMeter环境中的某些东西导致了这种行为)。在这种情况下,平均值是非常无用的,因为负载较低的平均值会影响负载较高的平均值,尤其是因为偏差确实会一点一点地增长。
-
或者您的服务器需要一些时间来提升(因此,在运行一段时间后,它能够在每单位时间内处理比测试开始后更多的请求)。所以您甚至还看不到"典型"的性能,因为图结束时吞吐量仍在增加。
-
如果这种吞吐量持续增长数小时(给定恒定负载),那将非常奇怪。我能想象的唯一情况是,如果故障包含在平均/吞吐量结果中。在某些服务器上,失败比成功的事务快得多(或慢得多)。因此,如果失败是相同平均值的一部分,而且有很多,它们可能会以某种方式影响结果,使结果变得奇怪。
所以我想说,你需要从结果中排除"增长"的吞吐量,并运行更长时间的测试,看看它什么时候稳定下来(它会在某个时候稳定下来,当它达到"水平线"状态时,你可以重置图)。您还可以增加两个测试的负载,看看php5+apache是否真的处于饱和点。