1. lighttpd
Lighttpd是一個具有非常低的記憶體開銷,cpu佔用率低,效能好,以及豐富的模組等特性。 lighttpd是眾多OpenSource輕量級的web server中較為優秀的一個。支援FastCGI, CGI, Auth, 輸出壓縮(output compress), URL重寫, Alias等重要功能。
Lighttpd使用fastcgi方式運行php,它會使用很少的PHP進程響應很大的並發量。
Fastcgi的優點在於:
· 從穩定性上來看, fastcgi是以獨立的進程池運作來cgi,單獨一個進程死掉,系統可以很輕易的丟棄,然後重新分配新的進程池運作來cgi,單獨一個進程死掉,系統可以很輕易的丟棄,然後重新分配新的進程池運作邏輯.
· 從安全性上看, fastcgi和宿主的server完全獨立, fastcgi怎麼down也不會把server搞垮,
· fast 的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) 可以透過網頁瀏覽器監視伺服器的狀態, 可以自訂日誌.10) 支援伺服器端包含指令(ssi).11) 支援安全socket層(ssl).12) 具有使用者工作階段的追蹤能力.13) 支援fastcgi14) 支援java servlets3.nginxNginx是俄羅斯人編寫的十分輕量級的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不間斷運行,即使運行數月也不需要重新啟動。你也能夠在不間斷服務的情況下,對軟體版本進行升級。
server |
Apache |
Apache |
Lighttpd
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
非常好 |
| 非常好一般 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fcgi |
不好 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
非常好 | 熱部署 |
不支援 | 系統壓力比較||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
很大 |
很小 |
比較小 |
穩定性 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
好 | 性好 | 一般 | 一般 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
文件處理 | 一般 | 非常好 | 好 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vhosts虛擬主機 | 支援 | 反向代理 | 一般 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
非常好 |
一般 |
Session sticky | 支持 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
註:在相對比較大的網站,節省下來的伺服器成本無疑是客觀的。而有些小型網站往往伺服器不多,如果採用 Apache 這類傳統 Web 伺服器,似乎也還能撐過去。但有其很明顯的弊端: Apache 在處理流量爆發的時候(例如爬蟲或者是 Digg 效應) 很容易過載,這樣的情況下採用 Nginx 最為合適。 建議方案: Apache 後台伺服器(主要處理php及一些功能請求如:中文佔用系統資源少得優勢來處理靜態頁面大量請求)Lighttpd 圖片伺服器總體來說,隨著 nginx總體來說,隨著 nginx得完善將使他成為今得盡宜性。 將分別測試3種軟體在動態頁面和靜態頁面要求及併發時的回應時間l cpu% RequestsperSecond
12.305
1000000/500 52.80
馬鈴薯 linux apache六間房 linux 以上就介紹了三大WEB伺服器比較分析(apache ,lighttpd,nginx),包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。
|