nginx與apache詳細效能對比
之前一直研究nginx的原始碼,最近有時間也做了下nginx與apache的效能對比,希望能夠夠對大家有所幫助!
nginx動態檔案處理能力差?
這是我最困惑的地方,在google了nginx之後發現它的評價並沒有想象中那麼差勁,並且很多公司已經開始用nginx+php(fast-cgi)作為主流web伺服器,於是我決定親自試一試。
測試環境:
web伺服器:192.168.0.235雙核(Intel(R) Xeon(TM) CPU 3.00GHz)
測試客戶端:192.168.30.149雙核(Pentium(R) Dual-Core CPU E5200 @ 2.50GHz)
測試工具:
webbench-1.5 ,這裡為何不用ab命令,因為測試時發現,在高併發下,ab命令可能會失敗,在任務沒有完成時,強制終止。所以我們要有一個容錯的工具來進行測試。
直接進入主題:
a、首先來看一下靜態檔案的處理效能比較:
①處理資料量比較
x軸:併發量
y軸:每秒鐘的資料處理量(byte/sec)
這裡不過多解釋,nginx的靜態處理能力完勝apache。
②出錯率比較
x軸:併發量
y軸:出錯率(%)
nginx 出錯率一直保持在%1左右,而apache表現處理不穩定性。
b、下面是我們最關心的動態檔案處理效能比較:
①同樣來看一下資料處理量比較
可以看出nginx的動態檔案處理能力並不比apache
② 出錯率比較
根據出錯率來看,nginx明顯低於apache,總的觀察看來nginx無論是動態處理能力還是靜態處理能力,都比apahce要強勁很多。
也許你有以下問題:
1.有人說nginx+fast-cgi不夠穩定?
這個事實可以證實,目前新浪部落格、新浪播客、網易新聞、騰訊網、搜狐部落格等入口網站頻道,六間房、56.com等視訊分享網站,Discuz!官方論壇、水木社群等知名論壇,盛大線上、金山逍遙網等網路遊戲網站,豆瓣、人人網、YUPOO相簿、金山愛詞霸、迅雷線上等新興Web 2.0網站均用nginx做web伺服器。
2.我們的系統已經很穩定了,為什麼還要冒風險來用nginx
網站的系統架構猶如逆水行舟,不進則退。隨著業務增長,誰不希望更多的消費者呢?怎樣創造一個滿意的環境給消費者?之前的測試完全是在nginx沒有優化的前提下完成的,而在優化後Nginx 0.8.46 + PHP 5.2.14 (FastCGI)可以承受3萬以上的併發連線數,相當於同等環境下Apache的10倍。這點每一個加班監控系統的兄弟們都會有感觸吧。
最後附上一些資料:
這裡就不全部展示,如果需要全部資料請留下電子郵箱!