it-swarm.cn

用于HTTP服务器负载测试的工具?

我不得不多次加载测试HTTP服务器/ Web应用程序,而每次我都对自己能够找到的工具质量感到不知所措。

因此,在对HTTP服务器进行负载测试时,您使用什么工具?下次我必须要做的事情是什么?

39
David Wolever

JMeter 是免费的。

Mercury Interactive Load Runner非常好,而且非常昂贵。

24
Chad Grant

我感到非常有资格回答这个问题,因为我目前的公司需要模拟25,000个同时连接到我们的Web服务器(我们提供在线广告)的连接。

对于极高容量的负载测试,方法是Httperf。它是免费的,并且根据我们的经验,它可以模拟JMeter或STA在同一硬件上的更多同时连接。

编辑:

以防万一,您可以在低功耗,价格便宜,超小尺寸的Optiplex 330上每秒模拟3500个请求。这些小盒子仅售280美元,而且我们还捆绑了许多小盒子来运行Httperf点播。相比之下,JMeter只能在该硬件上推送约800-900 req/sec。

21
Portman

如果您只想一次在Web服务器上通过单个URL加载负载,则下载Apache AB。它带有Apache HTTP服务器。

简单命令

ab -n 10000 -c 10 http://serverfault.com/questions/2107/tools-for-load-testing-http-servers

将以10个用户的并发运行10000个请求。

如果您想记录浏览会话,请进行投票并接受jmeter答案。 Jmeter令人惊叹,它可以扩展到许多可以引发巨大负载的测试机器。

20
Stewart Robinson

Tsung ,这是一个基于Erlang的工具。

http://www.softwareqatest.com/qatweb1.html#LOAD 处,还有很多工具。

8
Jauder Ho

为了进行快速测试,您可以使用curl序列和URL集。例如,我们要针对Google进行负载压力测试,我们可以运行...

curl -s "http://google.com?[1-1000]"

这将使1000次致电google,即.

http://google.com?1  
http://google.com?2  
http://google.com?3 
... 
http://google.com?1000

上有更详细的讨论。如何使用curl快速对Web服务器进行压力测试。

6
Ian Purton

您将需要设置不同的测试:

  • 正常测试,模拟用户的行为。您将实现思考时间(页面之间不存在HTTP狂怒1秒)。一种方法是记录网络会话,因此您将有现实的时间来完成/阅读每个页面。负载将逐步增加,直到达到生产中的平均当前负载
  • 破裂测试:与以前相同,但是要增加负载,直到出现第一个http 500错误。目的是了解在中断之前您可以管理多少负载
  • 长时间运行的测试。您将第一个方案保持运行12个小时,以确保不会随时间推移而发生内存泄漏或性能下降。

在每次测试之后/之前,您必须像以前一样放回平台:还原数据库,重新启动以清理内存和缓存。

您还将实现一个热身:在真实测试之前启动一次场景,以便编译网页,建立与数据库的连接。否则,第一次通话对您的统计数据总是不利的。

您可以添加复杂性,例如:

  • 使用不同的场景(访客/来宾,成员),其效果会有所不同。
  • 模拟差异带宽访问
  • 随机搜索单词并思考时间。

最后一件重要的事情:必须保存所有完成的方案,以便能够以完全相同的方式再次进行创建,因此可以将性能与以前的测试进行比较。

5
Mathieu Chateau

如果您只是想测试它如何处理多个连接,则可以使用 Siege 之类的东西。仍然不确定这是一个很好的措施,但它至少会告诉您如何处理多个连接

2
trent

我用过 openSTA

这使用了相对简单的脚本语言。

您可以轻松测试Web服务/服务器并编写自己的脚本。

它允许您以所需的任何方式将脚本放置在测试中,并配置迭代次数,每次迭代中的用户数,引入每个新用户的加速时间以及每次迭代之间的延迟。测试也可以在将来安排。

它是开源的,免费的。

它产生许多报告,可以将其保存到电子表格中。然后,我们使用数据透视表轻松分析结果并绘制图形。

2
nzpcmad

我以前使用过LoadRunner,但价格昂贵,我还使用了Microsoft的Team Tester版工具,该工具包括一个进行负载测试的系统。我对该工具的工作方式非常满意,您可以使用.net扩展测试,这比LoadRunner的语法更容易理解。

我们使用的LoadRunner版本也无法处理我们的AJAX)网站(这是在2000年,所以我确定到目前为止该工具已得到增强)

1
JoshBerke

我们使用 [〜#〜] wapt [〜#〜] ,效果很好。易于设置,只需几百美元。 LoadRUnner的价格高得离谱,可笑的是,除了Forutune 500以外,所有其他人都无法承受。

1
rmalayter

这取决于您的方案有多复杂。

若要正确模拟服务器上的实际用户负载,应尝试模拟用户实际在做什么。如果您的用户只是使用URL访问服务器,则任何免费/简单工具都可以。

对于稍微复杂一点的网站,您可能想使用一个工具来帮助您进行动态值关联,参数化等。您可以使用Load-Runner等,我更喜欢使用 WebLOAD =。

0
Yasei No Umi