如何对apache / nginx设置进行基准测试

时间:2010-03-27 05:38:36

标签: apache nginx benchmarking

我打算将nginx设置为反向代理。我将使用apache来提供动态内容,nginx将提供静态内容。

我现在的配置只是带有fastCGI的Apache。这给了我没有配置问题并运行良好。

在我设置nginx后,我想运行一些基准测试,看看我是否真的有一些性能提升,否则我会切换回来。

有谁知道如何对此类设置进行基准测试?或者也许某人已经这样做并且有一些预制结果,我很高兴听到他们。

PS。 我知道这更像是一个服务器故障类型的问题,但我看过很多关于apache和nginx的帖子所以我想我试一试

4 个答案:

答案 0 :(得分:16)

更好的解决方案? Siege

比ab

更准确的基准测试工具

答案 1 :(得分:8)

一些事情:

  1. 不要使用ab。它是单线程的,您可能最终会对ab而不是HTTP服务器进行基准测试。

  2. 不要在与服务器相同的系统上运行您使用的任何压力工具。 HTTP服务器将与CPU和其他资源的工具竞争。再加上localhost理想化版本的网络并不能说明整体情况(见第4点)。

  3. 在测试期间注意内存和CPU利用率。很多人从不考虑这个因素。即使两个设置都表现相同,如果使用一小部分RAM / CPU,那么你就有了胜利者。

  4. RPS不是唯一有意义的指标。像慢客户端(3G智能手机,拥挤网络,慢速PC)这样的东西会对线程服务器产生明显的负面影响。理想化的实验室设置(localhost或隔离开关)不会反映这一点。

  5. 您的FCGI脚本将成为任一服务器的瓶颈。我建议使用一个可以提取多个资源的工具(理想情况是整个页面,包括静态内容),这样您就可以全面了解页面加载时间。

  6. 您可以考虑使用其中一种“基于云”的测试工具,例如browsermob.com或loadimpact.com。

答案 2 :(得分:7)

一个字:ab

答案 3 :(得分:1)

http://curl-loader.sourceforge.net/

有点难以配置,但效果很好