以每分钟 350,000 个请求进行负载测试

以每分钟 350,000 个请求进行负载测试

我需要一种方法来重现我们网站不久前经历的流量突然激增,以便有机会保持我们的堆栈正常工作。

我们的负载均衡器在某个时刻报告说,每分钟执行了大约 35 万个请求,从操作系统到后端,一切都被搞垮了。我尝试研究执行这种突发测试的服务,但看起来,当调整测试设置以匹配所需条件时,成本实在太高了。

我怎样才能以符合这些条件的方式对我的堆栈进行负载测试?

答案1

因此,每秒请求数为 5,833,虽然很多,但还是可行的。我建议使用工具称为siege。尝试不同的并发选项,直到达到 的输出峰值Transactions per second:速率siege。您还可以使用ab(ApacheBench)来自 Apache 项目,但siege功能更加强大。

然后,添加更多机器,直到总数达到 6,000 台。您可能可以经济高效地使用 Amazon EC2,或者甚至只需在不同位置的不同互联网上行链路上设置几台机器即可ssh访问它们。您可以使用cron或在所有机器上同时at启动(首先确保时钟同步)。siege

至于利用外部公司进行测试,是的,这可能非常昂贵,我不认为我可以指出任何特定的公司,但我过去曾与几家公司合作过。这绝对是您可以用几个小时的 EC2 时间自己完成的事情。

编辑

作为@HBruijnawesomely 指出,有一个很棒的开源工具叫做带机关枪的蜜蜂这将自动通过 EC2 创建、拆除和协调负载生成。这听起来像是适合您情况的正确方法。

相关内容