转: 三大WEB服务器对比分析(apache ,lighttpd,nginx) (2008年的旧文,仅供参考之用)...
from: ?http://www.blogjava.net/daniel-tu/archive/2008/12/29/248883.html
三大WEB服務器對比分析(apache ,lighttpd,nginx)
Posted on 2008-12-29 14:03?井中月?閱讀(122453)?評論(19)??編輯??收藏?所屬分類:?Other?一.軟件介紹(apache? lighttpd? nginx)
1. lighttpd
Lighttpd是一個具有非常低的內存開銷,cpu占用率低,效能好,以及豐富的模塊等特點。lighttpd是眾多OpenSource輕量級的web server中較為優秀的一個。支持FastCGI, CGI, Auth,?輸出壓縮(output compress), URL重寫, Alias等重要功能。
Lighttpd使用fastcgi方式運行php,它會使用很少的PHP進程響應很大的并發量。
Fastcgi的優點在于:
·?????????從穩定性上看, fastcgi是以獨立的進程池運行來cgi,單獨一個進程死掉,系統可以很輕易的丟棄,然后重新分配新的進程來運行邏輯.
·?????????從安全性上看, fastcgi和宿主的server完全獨立, fastcgi怎么down也不會把server搞垮,
·?????????從性能上看, fastcgi把動態邏輯的處理從server中分離出來,?大負荷的IO處理還是留給宿主server,?這樣宿主server可以一心一意作IO,對于一個普通的動態網頁來說,?邏輯處理可能只有一小部分,?大量的圖片等靜態IO處理完全不需要邏輯程序的參與(注1)
·?????????從擴展性上講, fastcgi是一個中立的技術標準,?完全可以支持任何語言寫的處理程序(php,java,python...)
2.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?的特性:
1)?幾乎可以運行在所有的計算機平臺上.
2)?支持最新的http/1.1協議
3)?簡單而且強有力的基于文件的配置(httpd.conf).
4)?支持通用網關接口(cgi)
5)?支持虛擬主機.
6)?支持http認證.
7)?集成perl.
8)?集成的代理服務器
9)?可以通過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的性能,同時還沒有Lighttpd的內存泄漏問題,而且Lighttpd的mod_proxy也有一些問題并且很久沒有更新。但是Nginx并不支持cgi方式運行,原因是可以減少因此帶來的一些程序上的漏洞。所以必須使用FastCGI方式來執行PHP程序。
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比lighthttpd更勝一籌。
Nginx支持熱部署。它的啟動特別容易,?并且幾乎可以做到7*24不間斷運行,即使運行數個月也不需要重新啟動。你還能夠在不間斷服務的情況下,對軟件版本進行進行升級。
二.3種WEB服務器的比較:
| server | Apache | Nginx????? | Lighttpd |
| Proxy代理 | 非常好 | 非常好 | 一般 |
| Rewriter | 好 | 非常好 | 一般 |
| Fcgi | 不好 | 好 | 非常好 |
| 熱部署 | 不支持 | 支持 | 不支持 |
| 系統壓力比較 | 很大 | 很小 | 比較小 |
| 穩定性 | 好 | 非常好 | 不好 |
| 安全性 | 好 | 一般 | 一般 |
| 技術支持 | 非常好 | 很少 | 一般 |
| 靜態文件處理 | 一般 | 非常好 | 好 |
| Vhosts虛擬主機 | 支持 | 不支持 | 支持 |
| 反向代理 | 一般 | 非常好 | 一般 |
| Session sticky | 支持 | 不支持 | 不支持 |
注:在相對比較大的網站,節約下來的服務器成本無疑是客觀的。而有些小型網站往往服務器不多,如果采用?Apache?這類傳統?Web?服務器,似乎也還能撐過去。但有其很明顯的弊端:?Apache?在處理流量爆發的時候(比如爬蟲或者是?Digg?效應)?很容易過載,這樣的情況下采用?Nginx?最為合適。
建議方案:
Apache?后臺服務器(主要處理php及一些功能請求 如:中文url)
Nginx??前端服務器(利用它占用系統資源少得優勢來處理靜態頁面大量請求)
Lighttpd?圖片服務器
總體來說,隨著nginx功能得完善將使他成為今后web server得主流。
三.性能測試:
將分別測試3種軟件在對動態頁面和靜態頁面請求及并發時的響應時間
l????????靜態頁面 搜狐首頁
LIGHTTPD
| n/-c(ab參數) | cpu% | Mem | RequestsperSecond | Time taken for tests |
| 100000/100 | 64 | 60 | 462.75 | 21.6 |
| 100000/200 | 67 | 60 | 312.07 | 32.4 |
| 100000/500 | 83 | 60 | 137.24 | 72.8 |
| 100000/1000 出現錯誤丟包 | 94 | 60 | 126.6 | 78.9 |
NGINX
| n/-c(ab參數) | cpu% | Mem | RequestsperSecond | Time taken for tests |
| 100000/100 | 34.6 | 140 | 943.66 | 10.597 |
| 100000/200 | 35.6 | 110 | 924.32 | 10.818 |
| 100000/500 | 34.3 | 110 | 912.68 | 10.956 |
| 100000/1000 | 37 | 160 | 832.59 | 12.106 |
APACHE
| n/-c(ab參數) | cpu% | Mem | RequestsperSecond | Time taken for tests |
| 100000/100 | 40.6 | 170 | 690.72 | 14.47 |
| 100000/200 | 41.1 | 180 | 685.39 | 14.59 |
| 100000/500 | 42.3 | 190 | 633.64 | 15.78 |
| 100000/1000 | 43.1 | 200 | 547.53 | 18.26 |
l????????動態頁面 內部社區首頁
LIGHTTPD
| n/-c(ab參數) | cpu% | Mem | RequestsperSecond | Time taken for tests |
| 1000/100 | 50 | 200 | 33.54 | 29.816 |
| 1000/200 | 52 | 210 | 30.43 | 32.858 |
| 1000/500 | 54 | 230 | 25.79 | 38.76 |
| 1000/1000 | 62 | 250 | 24.83 | 40.28 |
NGINX
| n/-c(ab參數) | cpu% | Mem | RequestsperSecond | Time taken for tests |
| 1000/100 | 53.8 | 250 | 83.12 | 12.305 |
| 1000/200 | 55.8 | 250 | 74.05 | 13.504 |
| 1000/500 | 56 | 260 | 58.99 | 16.951 |
| 1000/1000 | 58 | 260 | 43.41 | 23.347 |
APACHE
| n/-c(ab參數) | cpu% | Mem | RequestsperSecond | Time taken for tests |
| 100000/100 | 60 | 200 | 27.37 | 36.541 |
| 100000/200 | 61 | 220 | 23.82 | 41.981 |
| 100000/500 | 73 | 150 | 20.59 | 48.562 |
| 100000/1000 | 53 | 200 | 27.18 | 36.796 |
l????????PHPINFO函數頁
LIGHTTPD
| n/-c(ab參數) | cpu% | Mem | RequestsperSecond | Time taken for tests |
| 100000/100 | 45 | 20 | 168.06 | 59.504 |
| 100000/200 | 47 | 22 | 140.64 | 71.103 |
| 100000/500 | 49 | 24 | 52.80 | 189.386 |
| 100000/1000 | 在請求到4840時測試測試程序死掉 | |||
NGINX
| n/-c(ab參數) | cpu% | Mem | RequestsperSecond | Time taken for tests |
| 100000/100 | 70 | 120 | 143.46 | 69.706 |
| 100000/200 | 72 | 130 | 140.57 | 71.140 |
| 100000/500 | 73 | 150 | 135.87 | 73.601 |
| 100000/1000 | 77 | 160 | 132.18 | 75.657 |
APACHE?出現丟包
| n/-c(ab參數) | cpu% | Mem | RequestsperSecond | Time taken for tests |
| 100000/100 | 70 | 180 | 245.73 | 40.694 |
| 100000/200 | 72 | 190 | 245.79 | 40.684 |
| 100000/500 | 75 | 200 | 241.29 | 41.443 |
| 100000/1000 | 77 | 220 | 236.74 | 42.239 |
四.各大網站WEB服務器資源列表
網站名???操作系統?? web服務器
1.門戶網站類:
搜狐???? LINUX???????????apache 1.3.37
新浪???? LINUX???????????apache 2.0.54
迅雷???? LINUX???????????nginx 0.6.31
163????? LINUX???????????apache 2.2.6
2.搜索類
百度????? unknown????????BWS 1.0
Google?? linux???????????gws
Sougou?? FreeBSD?????? ??apache 2.2.4
Hao123?? linux??????????apache 2.2.4
4.?電子郵箱類
126??????? linux???????? apache
Hotmail??? win2003??????microsoft-IIS 6.0
新浪郵箱??? F5 Big-IP??? apache 2.2.8
263??????? linux???????? apache 2.2.6
5.?博客類
新浪博客??? linux????????? nginx 0.5.35
搜狐博客??? linux????????? nginx
迅雷博客??? linux????????? nginx 0.6.32
天涯博客??? F5 Big-IP????? Microsoft-IIS/5.0
6.視頻類
優酷???????? linux????????? apache
土豆???????? linux????????? apache
Ku6???????? linux???????????apache
六間房?????? linux????????? nginx 0.6.14
轉載于:https://www.cnblogs.com/jhj117/p/5848521.html
總結
以上是生活随笔為你收集整理的转: 三大WEB服务器对比分析(apache ,lighttpd,nginx) (2008年的旧文,仅供参考之用)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 兼容IE678的placeholder
- 下一篇: 51nod 1600 Simplr KM