1000个并发请求的linux / apache性能基准

时间:2016-08-03 11:09:28

标签: linux jmeter load-testing throughput

我有一个以下配置的linux服务器:

def Phys11 = "1Q"
def String str45 = Phys11.getCatalogName()
println 'HP' + Str

我正在进行j-meter测试,其中包含500个并发线程,并且上升时间为10秒。我的吞吐量为3 /秒。我怎么知道这个吞吐量的好坏。有没有基准可以用来比较我的结果,即。吞吐量和偏差。

1 个答案:

答案 0 :(得分:1)

没有"好"或者"坏"吞吐量本身。根据应用程序的目标和利益相关者的期望,3 /秒的吞吐量可能是完美的或可怕的。所以第一个问题是你的绩效目标是什么?

其次,只有当你有一个图表而不是一个点时才能达到关于吞吐量的结论。吞吐量的典型图如下所示:

enter image description here

因此,如果没有越来越多的用户点,你就不会真正知道自己是否正在成长"成长"或者"高原"相。吞吐量图也可能如下所示:

enter image description here

只有一点,你也不知道它是在增长,是在高原还是在恶化。

最后,用户数量只是影响吞吐量的一个参数。其他可能包括:请求类型,数据大小,测试持续时间(例如,长测试可能显示吞吐量趋势增加或降低在较短测试时不可见)等。

所以我的建议是:

  • 与您的利益相关者核实您的应用程序的目标是什么。例如,开发人员期望吞吐量是什么。

  • 在运营方面建立稳固的基准。代表"大多数用户的东西"。确保您的测试考虑到可能会大幅改变吞吐量的操作(或者至少知道您故意排除了哪些操作)。

  • 确定测试的持续时间,这可能会显示稳定的吞吐量(对于某些应用程序,它可能是10分钟,而其他应用程序可能是24小时)

  • 在不更改测试的情况下,使用递增的用户数(例如100,200,300,...)多次运行以获得图形。继续增加用户数量,直到应用程序中断或性能恶化到不可接受的速率。

如果3秒的吞吐量是您的应用程序可以做的最好的,或者它可以做得更好,那么这将为您提供全面的图片和良好的理解。您的应用程序能做的最好是否足以让您的利益相关者。

BTW的第二张照片取自this page,这是一个非常好的读物。