三大WEB服務(wù)器對(duì)比分析(apache、lighttpd、nginx)
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
一.軟件介紹(apache lighttpd nginx)
1. lighttpd Lighttpd是一個(gè)具有非常低的內(nèi)存開銷,cpu占用率低,效能好,以及豐富的模塊等特點(diǎn)。lighttpd是眾多OpenSource輕量級(jí)的web server中較為優(yōu)秀的一個(gè)。支持FastCGI, CGI, Auth, 輸出壓縮(output compress), URL重寫, Alias等重要功能。 Lighttpd使用fastcgi方式運(yùn)行php,它會(huì)使用很少的PHP進(jìn)程響應(yīng)很大的并發(fā)量。 Fastcgi的優(yōu)點(diǎn)在于:
apache是世界排名第一的web服務(wù)器, 根據(jù)netcraft(www.netsraft.co.uk)所作的調(diào)查,世界上百分之五十以上的web服務(wù)器在使用apache. 1995年4月, 最早的apache(0.6.2版)由apache group公布發(fā)行. apache group 是一個(gè)完全通過internet進(jìn)行運(yùn)作的非盈利機(jī)構(gòu), 由它來決定apache web服務(wù)器的標(biāo)準(zhǔn)發(fā)行版中應(yīng)該包含哪些內(nèi)容. 準(zhǔn)許任何人修改隱錯(cuò), 提供新的特征和將它移植到新的平臺(tái)上, 以及其它的工作.當(dāng)新的代碼被提交給apache group時(shí), 該團(tuán)體審核它的具體內(nèi)容, 進(jìn)行測試, 如果認(rèn)為滿意, 該代碼就會(huì)被集成到apache的主要發(fā)行版中. apache 的特性:
Nginx是俄羅斯人編寫的十分輕量級(jí)的HTTP服務(wù)器,Nginx,它的發(fā)音為“engine X”, 是一個(gè)高性能的HTTP和反向代理服務(wù)器,同時(shí)也是一個(gè)IMAP/POP3/SMTP 代理服務(wù)器.Nginx是由俄羅斯人 Igor Sysoev為俄羅斯訪問量第二的 Rambler.ru站點(diǎn)開發(fā). Nginx以事件驅(qū)動(dòng)的方式編寫,所以有非常好的性能,同時(shí)也是一個(gè)非常高效的反向代理、負(fù)載平衡。其擁有匹配 Lighttpd的性能,同時(shí)還沒有Lighttpd的內(nèi)存泄漏問題,而且Lighttpd的mod_proxy也有一些問題并且很久沒有更新。但是Nginx并不支持cgi方式運(yùn)行,原因是可以減少因此帶來的一些程序上的漏洞。所以必須使用FastCGI方式來執(zhí)行PHP程序。 nginx做為HTTP服務(wù)器,有以下幾項(xiàng)基本特性: 處理靜態(tài)文件,索引文件以及自動(dòng)索引;打開文件描述符緩沖. 無緩存的反向代理加速,簡單的負(fù)載均衡和容錯(cuò). FastCGI,簡單的負(fù)載均衡和容錯(cuò). 模塊化的結(jié)構(gòu)。包括gzipping, byte ranges, chunked responses,以及 SSI-filter等filter。如果由FastCGI或其它代理服務(wù)器處理單頁中存在的多個(gè)SSI,則這項(xiàng)處理可以并行運(yùn)行,而不需要相互等待。 Nginx專為性能優(yōu)化而開發(fā),性能是其最重要的考量,實(shí)現(xiàn)上非常注重效率。它支持內(nèi)核Poll模型,能經(jīng)受高負(fù)載的考驗(yàn),有報(bào)告表明能支持高達(dá) 50,000個(gè)并發(fā)連接數(shù)。 Nginx具有很高的穩(wěn)定性。其它HTTP服務(wù)器,當(dāng)遇到訪問的峰值,或者有人惡意發(fā)起慢速連接時(shí),也很可能會(huì)導(dǎo)致服務(wù)器物理內(nèi)存耗盡頻繁交換,失去響應(yīng),只能重啟服務(wù)器。例如當(dāng)前apache一旦上到200個(gè)以上進(jìn)程,web響應(yīng)速度就明顯非常緩慢了。而Nginx采取了分階段資源分配技術(shù),使得它的CPU與內(nèi)存占用率非常低。nginx官方表示保持10,000個(gè)沒有活動(dòng)的連接,它只占2.5M內(nèi)存,所以類似DOS這樣的攻擊對(duì)nginx來說基本上是毫無用處的。就穩(wěn)定性而言,nginx比lighthttpd更勝一籌。 Nginx支持熱部署。它的啟動(dòng)特別容易, 并且?guī)缀蹩梢宰龅?*24不間斷運(yùn)行,即使運(yùn)行數(shù)個(gè)月也不需要重新啟動(dòng)。你還能夠在不間斷服務(wù)的情況下,對(duì)軟件版本進(jìn)行進(jìn)行升級(jí)。 二.3種WEB服務(wù)器的比較:
注:在相對(duì)比較大的網(wǎng)站,節(jié)約下來的服務(wù)器成本無疑是客觀的。而有些小型網(wǎng)站往往服務(wù)器不多,如果采用 Apache 這類傳統(tǒng) Web 服務(wù)器,似乎也還能撐過去。但有其很明顯的弊端: Apache 在處理流量爆發(fā)的時(shí)候(比如爬蟲或者是 Digg 效應(yīng)) 很容易過載,這樣的情況下采用 Nginx 最為合適。 建議方案: Apache 后臺(tái)服務(wù)器(主要處理php及一些功能請(qǐng)求 如:中文url) Nginx 前端服務(wù)器(利用它占用系統(tǒng)資源少得優(yōu)勢來處理靜態(tài)頁面大量請(qǐng)求) Lighttpd 圖片服務(wù)器 總體來說,隨著nginx功能得完善將使他成為今后web server得主流。 三.性能測試: 將分別測試3種軟件在對(duì)動(dòng)態(tài)頁面和靜態(tài)頁面請(qǐng)求及并發(fā)時(shí)的響應(yīng)時(shí)間 1. 靜態(tài)頁面 搜狐首頁 LIGHTTPD
NGINX
APACHE
2. 動(dòng)態(tài)頁面 內(nèi)部社區(qū)首頁 LIGHTTPD
NGINX
APACHE
3. PHPINFO函數(shù)頁 LIGHTTPD
NGINX
APACHE 出現(xiàn)丟包
四.各大網(wǎng)站WEB服務(wù)器資源列表 網(wǎng)站名 操作系統(tǒng) web服務(wù)器 1.門戶網(wǎng)站類: 搜狐 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.視頻類 優(yōu)酷 linux apache 土豆 linux apache Ku6 linux apache 六間房 linux nginx 0.6.14 該文章在 2012/4/3 16:28:22 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |