Sea*_*ess 7 nginx centos varnish load-balancing haproxy
我正在对不同的负载平衡选项进行负载测试,但从 Nginx、haproxy 和 varnish 得到的结果很差。我在 Rackspace 有一个 4GB 的负载均衡器,可以运行 4x1GB 的应用服务器。
我正在访问一个名为“/slow”的 url,它在响应之前故意等待 500 毫秒。如果我直接访问应用程序服务器,它可以处理每秒 1600-1800 的连接速率。
如果我打 Nginx 负载均衡器,它只能处理大约 2000 个连接。我希望有更接近 4x1600 = 6000 的东西。下面是我用来测试它的命令。这是在 40 256 MB 实例上并行运行的。我特意将 num_call 设置为 1,因为我想看看连接性能。任何高于此值,我就会开始出现很多错误。
httperf --server 50.56.80.227 --port 1555 --uri /slow --rate 50 --num-call 1 --num-conn 100 --timeout 5
Run Code Online (Sandbox Code Playgroud)
这是我的 nginx 配置:https : //gist.github.com/1299501
所以,奇怪的是,无论我使用 nginx、haproxy 还是 varnish,我都会得到大致相同的结果。然而,我测试了 Rackspace 的新云平衡器,它们获得了更好的性能(在 7000/s 时表现良好)。由于 nginx 和其他都在我设置的实例上运行,而机架空间平衡器不是,我猜系统有问题。我宁愿使用我控制的平衡器,这样我就可以向其中添加缓存、gzip、ssl 和其他内容。
我怎样才能找出瓶颈是什么?有什么我应该在系统上调整以获得更好的性能吗?我需要超过 4GB 的内存吗?(测试过程中Ram使用率不高)。还有其他随意的想法吗?
更新:我只是将平衡器调整为 8GB,它的性能要好得多,高达 6000-7000,或者与机架空间平衡器相当。这没有任何意义,因为它之前没有耗尽 RAM。
更新:这是我重载平衡器时 httperf 的输出示例(在 8GB 版本上,比我之前能够运行的要高,但错误类似):https ://gist.github.com/1299628
我也在 Rackspace Cloud 上,并且有一个非常相似的问题。我相信问题是这样的:
从你所描述的内容来看,你只是最大化了机架空间给我们提供的可怜的带宽量,几乎完全实现了 Varnish/Nginx 等提供的所有惊人的性能增益。
为了确认这一点,请在 iftop 打开的情况下重新运行一些基准测试,并观察它完全超出了每个服务器大小所提供的机架空间数量。
归档时间: |
|
查看次数: |
2358 次 |
最近记录: |