我曾经多次对 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 服务器进行压力测试。