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

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

我曾经多次对 HTTP 服务器/Web 应用程序进行加载测试,但每次我所找到的工具的质量都令我失望。

那么,当您对 HTTP 服务器进行负载测试时,您会使用什么工具?下次我最有可能犯错的是什么?

答案1

JMeter免费。

Mercury Interactive Load Runner 非常好,但也很贵。

答案2

我觉得自己很有资格回答这个问题,因为我目前的公司需要模拟 25,000 个与我们网络服务器的同时连接(我们提供在线广告)。

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

编辑:

如果您好奇的话,我们在低功耗、廉价、超小型 Optiplex 330 上模拟了每秒 3500 个请求。这些小盒子只需 280 美元,我们连接了一堆来按需运行 Httperf。相比之下,JMeter 只能在此硬件上推送大约 800-900 个请求/秒。

答案3

如果您只想在 Web 服务器上一次向单个 URL 加载,请下载 Apache AB。它随 Apache HTTP 服务器一起提供。

简单命令

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

将运行 10,000 个请求,并发用户数为 10 个。

如果您想记录浏览会话,请点赞并接受 jmeter 的答案。Jmeter 非常棒,它可以扩展到许多可以承受巨大负载的测试机器。

答案4

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

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

这将对 google ie 进行 1000 次调用

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

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

相关内容