适用于非Twitters的低延迟Web服务器/负载均衡器

时间:2011-12-29 17:33:16

标签: apache nginx jetty load-balancing latency

Apache httpd多年来一直很好,在我一直在维护的传统自定义LAMP堆栈应用程序中坚如磐石且性能卓越(阅读:试图逃避)

我的LAMP堆栈日现在已经编号了,我正在进入奇妙的多语言世界:

1) Scala REST framework on Jetty 8 (on the fence between Spray & Scalatra)
2) Load balancer/Static file server: Apache Httpd, Nginx, or ?
3) MySQL via ScalaQuery
4) Client-side: jQuery, Backbone, 320 & up or Twitter Bootstrap

选项#2是这个问题的焦点。我看到的基准测试表明,Nginx,Lighthttpd,G-WAN(特别是)和朋友在性能方面吹嘘了Apache,但这种吹嘘似乎在高负载场景中表现得更多,其中Web服务器处理许多同时连接。鉴于我们的服务器每月最大带宽为100gb,平均负载大约为0.10,高负载情况显然没有发挥作用。

基本上我需要连接到应用程序服务器(Jetty)和Web服务器的静态文件传递,既可靠又快速。最后,Web服务器应该作为应用程序服务器的负载平衡器(不需要SSL,服务器位于ASA后面)。我不确定Apache Httpd与替代品的比较速度有多快,但经过验证的是道路战士测试软件。

所以,如果我使用Nginx或其他Apache替代方案,那么在可见性能方面是否会有任何差异?我假设没有,但为了实现接近即时页面加载,将问题放在那里; - )

2 个答案:

答案 0 :(得分:3)

  

如果我使用Nginx或其他Apache替代方案,那么在可见性方面是否会有任何差异?

是的,主要是在延迟方面。

根据谷歌(可能知道一件事或拖延延迟),延迟对于用户体验,高搜索引擎排名和高负荷(成功,脚本小子,真实攻击等)都很重要。

但扩展多核和/或使用更少的RAM和CPU资源也不会受到影响 - 这就是这些Web服务器替代方案的目的。

  

我看到的基准测试表明,Nginx,Lighthttpd,G-WAN(特别是)和朋友在性能方面吹嘘了Apache,但是在Web服务器正在处理的高负载情况下,这种吹嘘似乎更多许多同时连接

基准测试显示即使客户数量较少,某些服务器也比其他服务器更快:here are compared Apache 2.4, Nginx, Lighttpd, Varnish, Litespeed, Cherokee and G-WAN

由于此测试是由独立于这些服务器的作者的人完成的,因此这些测试(使用虚拟化和1,2,4,8 CPU核心进行测试)具有明显的价值。

答案 1 :(得分:0)

会有很大的不同。 Nginx用Apache消除了对任何超过零并发用户的影响。假设您正确配置了所有内容。查看以下链接,了解其中的一些帮助。

http://wiki.nginx.org/Main

http://michael.lustfield.net/content/dummies-guide-nginx

http://blog.martinfjordvald.com/2010/07/nginx-primer/

您会看到请求/秒的改进,但您也会看到显着减少的RAM和CPU使用率。我喜欢的一件事是通过更简单的配置更好地控制正在发生的事情。

Apache声称apache 2.4将提供与nginx相同或更好的性能。他们提出了一个大胆的主张,呼唤nginx,当他们发布这个版本时,它们有点像屁股。他们更接近,当然,但是nginx几乎在每一个基准测试中都会消失。

相关问题