兩大常用web伺服器對比(apache,nginx)

這篇沒有把IIS服務器列入其中,因為IIS只能在Windows上跑,而apache與lighttpd、nginx這三個WEB網站服務器可以在各種平臺上跑.

下面分析一下

1、Apache

apache 是世界排名第一的 web 服務器,根據 netcraft(www.netsraft.co.uk ) 所作的調查,世界上百分之五十以上的 web 服務器在使用 apache。

1995 年 4 月,最早的 apache(0.6.2 版 ) 由 apache group 公佈發行. apache group 是一個完全通過 internet 進行運作的非盈利機構,由它來決定 apache web 服務器的標準發行版中應該包含哪些內容. 准許任何人修改隱錯,提供新的特徵和將它移植到新的平臺上,以及其它的工作. 當新的代碼被提交給 apache group 時,該團體審核它的具體內容,進行測試,如果認為滿意,該代碼就會被集成到 apache 的主要發行版中.

 apache 的特性 :

01) 幾乎可以運行在所有的計算機平臺上

02) 支持最新的 http/1.1 協議

03) 簡單而且強有力的基於文件的配置 (httpd.conf)

04) 支持通用網關接口 (cgi)

05) 支持虛擬主機

06) 支持 http 認證

07) 集成 perl

08) 集成的代理服務器

09) 可以通過 web 瀏覽器監視服務器的狀態,可以自定義日誌

10) 支持服務器端包含命令 (ssi)

11) 支持安全 socket 層 (ssl)

12) 具有用戶會話過程的跟蹤能力

13) 支持 fastcgi

14) 支持 java servlets

3. nginx

nginx 是俄羅斯人編寫的十分輕量級的 http 服務器 ,nginx ,它的發音為 “engine X” , 是一個高性能的 http 和反向代理服務器,同時也是一個 IMAP/POP3/SMTP 代理服務器. nginx 是由俄羅斯人 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 站點開發.

nginx 以事件驅動的方式編寫,所以有非常好的性能,同時也是一個非常高效的反向代理、負載平衡.其擁有匹配 lighttpd 的性能,

nginx 做為 http 服務器,有以下幾項基本特性:

處理靜態文件,索引文件以及自動索引;打開文件描述符緩衝,無緩存的反向代理加速,簡單的負載均衡和容錯.fastcgi ,簡單的負載均衡和容錯.模塊化的結構.包括 gzipping, byte ranges, chunked responses, 以及 SSI-filter 等 filter.如果由 fastcgi 或其它代理服務器處理單頁中存在的多個 SSI ,則這項處理可以並行運行,而不需要相互等待.

nginx 專為性能優化而開發,性能是其最重要的考量,實現上非常注重效率.它支持內核 Poll 模型,能經受高負載的考驗,有報告表明能支持高達 50,000 個併發連接數.

nginx 具有很高的穩定性.其它 http 服務器,當遇到訪問的峰值,或者有人惡意發起慢速連接時,也很可能會導致服務器物理內存耗盡頻繁交換,失去響應,只能重啟服務器.例如當前 apache 一旦上到 200 個以上進程, web 響應速度就明顯非常緩慢了.而 nginx 採取了分階段資源分配技術,使得它的 CPU 與內存佔用率非常低. nginx 官方表示保持 10,000 個沒有活動的連接,它只佔 2.5M 內存,所以類似 DOS 這樣的攻擊對 nginx 來說基本上是毫無用處的.就穩定性而言。

nginx 支持熱部署.它的啟動特別容易,並且幾乎可以做到 7*24 不間斷運行,即使運行數個月也不需要重新啟動.你還能夠在不間斷服務的情況下,對軟件版本進行進行升級.

二、三種 web 服務器的比較:

兩大常用web服務器對比(apache,nginx)

注:在相對比較大的網站,節約下來的服務器成本無疑是客觀的。而有些小型網站往往服務器不多,如果採用Apache這類傳統Web服務器,似乎也還能撐過去。但有其很明顯的弊端:Apache在處理流量爆發的時候(比如爬蟲或者是Digg效應)很容易過載,這樣的情況下采用Nginx最為合適。

建議方案:

Apache後臺服務器(主要處理php及一些功能請求如:中文url)Nginx前端服務器(利用它佔用系統資源少得優勢來處理靜態頁面大量請求)Lighttpd圖片服務器

 總體來說,隨著nginx功能得完善將使他成為今後web server得主流。

三 、 性能測試 :

將分別測試 2種軟件在對動態頁面和靜態頁面請求及併發時的響應時間

l靜態頁面 搜狐首頁

NGINX

兩大常用web服務器對比(apache,nginx)

APACHE

兩大常用web服務器對比(apache,nginx)

l動態頁面內部社區首頁

NGINX

兩大常用web服務器對比(apache,nginx)

APACHE

兩大常用web服務器對比(apache,nginx)

lPHPINFO 函數頁

NGINX

兩大常用web服務器對比(apache,nginx)

APACHE 出現丟包

兩大常用web服務器對比(apache,nginx)


分享到:


相關文章: