2011-12-29 85 views
2

Apache httpd在過去幾年中做得很好,只是在我一直維護的傳統定製LAMP堆棧應用程序中堅如磐石,性能卓越(閱讀:嘗試從逃跑)現在世界上非Twitters的低延遲網絡服務器/負載均衡器

我的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,高負載情況顯然不起作用。

基本上我需要通過Web服務器連接到應用程序服務器(Jetty)和靜態文件傳輸,以實現可靠和快速。最後,Web服務器應該兼作應用程序服務器的負載平衡器(不需要SSL,服務器駐留在ASA後面)。我不確定Apache Httpd與備選方案的對比速度有多快,但已經證明,這是經過測試的軟件。因此,如果我使用Nginx或其他Apache替代方法進行滾動,那麼在可見性方面會有什麼不同嗎?我假設沒有,但爲了實現接近即時頁面加載的興趣,將問題放在那裏;-)

回答

0

將會有巨大的差異。 Nginx使用Apache清除地面上的零個併發用戶的地板。這是假設你正確地配置了一切。看看下面的鏈接可以獲得一些幫助。

http://wiki.nginx.org/Main

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

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

你會看到在請求/秒方面的改進,但你還可以看到顯著較少的內存和CPU佔用率。我喜歡的一件事是通過更簡單的配置更好地控制正在發生的事情。

Apache聲稱apache 2.4將提供比nginx更好或更好的性能。他們做出了一個大膽的聲明,呼籲nginx,當他們發佈它時,它有點兒在屁股裏。它們更接近,當然,但nginx仍然在幾乎每一個基準測試中都佔據了一席之地。

+0

謝謝,我有疑惑。爲什麼? 1)Apache 2.4已經發布; 2)Google mod_pagespeed目前還不支持nginx(並且很快就會將v2.2擴展到v2.4以支持Apache)。單靠mod_pagespeed是足以保持原狀的原因; 2.4看起來也很火。如果我只是提供靜態內容,我可能會考慮切換,但是面向應用服務器,堅持使用Apache。 – virtualeyes 2012-03-07 21:45:08

+1

當我輸入時,我也在考慮動態內容。就我個人而言,我喜歡控制一切。這聽起來好像你實際上並不想使用Nginx。 Nginx與Apache的谷歌搜索將爲您提供很多基準。這對於較少資源的小型服務器來說也是理想的選擇。除非你真的嘗試過,並確保你的配置正確,否則你永遠不會知道哪個更好。 – MTeck 2012-03-07 21:54:03

+0

我其實很喜歡nginx的效率,配置的確比Apache的簡單得多。然而,雖然Apache 2.4在基準測試中可能與nginx不太匹配,但我們大多數人並不能夠處理基準級別的流量。換句話說,就速度而言,就最終用戶而言,可能存在零點差異。這就是爲什麼我將這篇帖子命名爲「世界的非Twitter玩家」。這不僅僅是我正在尋找的原始速度,它可靠地對應用程序服務器進行負載均衡,可以說是兩者中較重要的一個在相對低負載的情況下 – virtualeyes 2012-03-07 22:54:48

3

如果我使用Nginx或其他Apache替代方法進行滾動,在可見性方面會有什麼區別嗎?

是的,主要是在延遲方面。根據谷歌(誰可能知道一件事或拖延有關延遲),延遲對於用戶體驗,高搜索引擎排名以及在高負載(成功,腳本小子,真實攻擊等)中生存都很重要。 )。但是擴展多核和/或使用更少的RAM和CPU資源不會傷害 - 這就是這些Web服務器替代方案的目的。

我所看到的基準表示的Nginx,Lighthttpd,G-WAN(具體地)和朋友吹走的Apache在性能方面,但這種吹走似乎表現更在高負載情況下,其中在網絡服務器在處理大量併發連接

的基準測試表明即使在客戶數量少,有些服務器比別人快:here are compared Apache 2.4, Nginx, Lighttpd, Varnish, Litespeed, Cherokee and G-WAN。由於此測試是由獨立於這些服務器的作者的人員完成的,因此這些測試(使用虛擬化和1,2,4,8 CPU內核進行)具有明確的價值。

+0

+1,Nice基準測試的性能與之前的基準測試結果基本相同,顯示GWAN將其他人和Apache排在最後。說,對於絕大多數低負載網站,很有可能人們不會注意到服務於一個100字節文件的GWAN(即基準測試中使用的文件)和Apache做的一樣。值得注意的是,作者在第一句中提到,這是他嘗試的第一個基準測試;-) Nginx是Apache服務器市場中最大的威脅(GWAN遠沒有免費) – virtualeyes 2012-10-14 13:48:46

+0

您可能從中瞭解到爲什麼**延遲**很重要。那麼,即使在低頻率的網站上,G-WAN也會讓你感覺到(很多)。如果基準初學者(但網絡專業人員)覺得需要測試G-WAN與其他服務器,那這是一個相當好的信號。而Nginx在硬件上比G-WAN花費更多。 =) – Gil 2012-10-15 13:50:43

+0

好吧,在這一點上,我更關心網絡延遲,然後我的堆棧中的延遲。大多數網站對於運行寫得不好的LAMP堆棧應用的低端服務器來說沒問題。特別重負荷的場所是例外,並且所選擇的堆疊和編碼專業水平顯然是至關重要的。 G-WAN有一定的優勢,你們會做得很好,但是不會開源可能會減緩本來可以成爲網絡服務器市場產品的腳步。 Apache,Nginx等人可能不會抱怨... – virtualeyes 2012-10-15 16:42:00