這里做了些基准測試表明nginx打敗了其它的輕量級的web服務器和代理服務器,同樣也贏了相對不是那么輕量級的產品。
有人說這些基准測試是不准確的,因為在這樣那樣的環境下,做的比較不一致。我傾向同意基准測試只是告訴了我們其中一部分情況,你能做的是消除偏見(有人見過所有人都同意一個基准測試是公平的嗎?我是沒見過。)
不管怎樣,這篇文章不是做基准測試來讓人們爭論(如果你喜歡,可以在Google上找到那樣的文章),相反,下面的引述來自人們在現實世界中使用Nginx,在真實的負載下,服務於真正的應用和網站。
引述
我們投資的一些公司把web平台切換到Nginx后,可以顯著的解決擴展問題。Nginx明顯有效的實現了今天互聯網上最大網站數量的增長。
– Thomas Gieselmann, BV Capital.
我對今天運行網站的所有人的建議是,想打破性能限制就研究下能否使用Nginx。CloudFlare去年在一個相對較小的基礎設施上已經擴展到可以處理每月超過150億的瀏覽量,很大程度上是因為Nginx的擴展性。我的經驗表明切換到Nginx可以最大限度的利用現代的操作系統和現有的硬件資源。
– Matthew Prince, CloudFlare的聯合創始人和CEO
Apache和Nginx都有能力提供每秒鍾龐大的請求服務,但是隨着並發數量的增加,Apache的性能開始下降,然而Nginx的性能幾乎不會下降。
這里最好的一點是:因為Nginx是基於事件的,它不用為每個請求產生新的進程或線程,所以它的內存使用很低。在我的基准測試中,它的內存使用坐落在2.5M,Apache使用得更多。
針對Nginx v0.5.22 and Apache v2.2.8我用ab(Apache的基准測試工具)跑了一個簡單的測試。在測試過程中,我用vmstat和top檢測系統。結果表明在提供靜態內容時,Nginx做得比Apache好。兩個服務器都在並發數100時表現最佳。Apache使用4個工作進程(線程模式),30%的CPU和17MB的內存,每秒鍾處理6,500次請求。Nginx使用一個工作進程,15%的CPU,1MB內存,每秒鍾處理11,500次請求。
Apache好比是微軟Word,它有100萬個選項,但是你只需要其中6個。Nginx就處理那6項任務,但處理其中5項任務時速度比Apache快50倍。
我現在使用Nginx在單一服務器上處理每天超過數千萬(也就是每秒鍾幾百次)的反向代理HTTP請求。在負載高峰期,它消耗大約15MB的內存和10%的CPU,在我的特定配置下(FreeBSD 6)。
在同樣的負載下,Apache表現大跌(在大約使用1000個進程后,上帝知道使用了多少內存),Pound表現大跌(如此多的線程,所有的線程棧會消耗400MB以上的內存),還有Lighttpd每小時泄露20MB以上內存(使用更多CPU,但不顯著)。
– Bob Ippolito in the TurboGears mailing list, 2006-08-24
我們現在使用Nginx 0.6.29的upstream hash模塊為我們需要的Varnish代理提供靜態雜湊。我們通常處理8-9千次請求/秒,大約1.2Gb/秒數據在幾台Nginx服務器間傳輸,而且還有很大的成長空間。
直到今天,我們一直使用Pound來解決Justin.tv 的負載均衡。它一直使用20%的CPU,在高峰期會達到80%。在極高的負載下,它偶爾會崩潰。
我們只是切換到了Nginx,負載馬上就降到了大約3%的CPU使用。我們的頁面感覺更快了,盡管這可能是我的錯覺。不僅它的配置文件格式容易理解和配置,而且還提供了完整的web服務器功能。我們再也沒有遇到尖峰期了,而且我懷疑現有的性能會徹底打敗Pound。
我們使用Nginx作為主要的軟件用於一個免費的托管平台,我已經在Nginx中開發了一個特定的模塊用於banner潛入和統計計算,現在我們的中央服務器可以處理大約150-200Mbit/s高度分散的http流量(所有的文件都很小)。
我認為這是非常好的結果。因為在同樣的服務器上面Apache不管怎么優化,甚至都不能處理60-80Mbit/s。
前陣子,我們把我們的前端IMAP/POP代理從perdition切換到了nginx…,現在我們又使用nginx來做前端web代理服務器…。最終的結果是,現在的每台前端代理服務器可以保持超過10,000並發(IMAP, POP, Web & SMTP)連接(其中很多還是SSL),僅僅只使用了大約10%的CPU。
最近,我們的靜態內容服務器切換到了Nginx,無疑這是這么多年來我印象最深刻的一款web服務器。我們運行在一台配有8G內存的機器上,但是nginx進程只使用了可笑的1.4Mb。
– Philip Jacob
我們已經用nginx取代了Squid(反向代理)+Apache的方案,平均負載和CPU使用一樣降低了一半。另外我們的基准測試表明新的配置每秒鍾可以處理的請求數是舊配置的2-3倍。
– HowtoForge
我們用一些CMS系統( Wordpress, Drupal, Joomla, TYPO3等)做了基准測試,結果是Nginx提供網頁的速度比Apache快了50%,同時nginx每秒鍾處理的請求數(RPS)是Apache的177%。