对Apache的重压力testing

我们有一个运行Apache的生产服务器,有时因为负载过重而崩溃,我试图复制testing服务器上的情况以testingMonit。 所以我的目标是重载Apache以使服务崩溃,或者至less渲染一个网站不可用。

我正在尝试使用apache AB: ab -n 100000 -c 1000 http://webtest/但是似乎还不够,尽pipe/ server-status /显示所有工作者都处于活动状态…还有更多强大的替代scheme或更有效的方法来使用ab来使Apache跪下?

谢谢!

最有前途的免费和开源的负载testing工具是:

  • 加特林
  • 磨床
  • Apache JMeter

如果您需要重现您的生产中断,我会推荐使用Apache JMeter,请参阅停止假设! 学习如何使用JMeter文章重播您的制作stream量以获取详细信息。

尝试使用另一台服务器或具有合理的CPU和networking连接的服务器攻城 。 有趣的是,我发现从另一台服务器进行的testing能够比使用Apachetesting服务器承受更多的负担,即使有足够的CPU备用。 这是我的主服务器在AWS的t2.micro实例,有大量的CPU信用。

确保在siegeconfiguration文件中设置benchmark = false(阅读文档)。 服务器之间的延迟是关键,所以在同一个数据中心是最好的。 我用一个AWS m3.medium现货实例约1c / hr。

我真的很喜欢使用gor进行负载testing。 这个工具允许我logging生产stream量,然后在我感觉舒适的testing时“重放”stream量。 它还允许您以不同的速度重放stream量。 例如:

 # Replay from file on 2x speed gor --input-file "requests.gor|200%" --output-http "staging.com" 

使用生产stream量进行testing是迄今为止最好的方法。 垃圾邮件您的主页500k次将不会给你可靠的统计数据。

https://github.com/buger/gor

通读github页面,了解所有可用的function。 祝你好运!

我喜欢使用Xceptance XLT进行负载testing。