首頁  >  文章  >  後端開發  >  三大WEB伺服器比較分析(apache ,lighttpd,nginx)

三大WEB伺服器比較分析(apache ,lighttpd,nginx)

WBOY
WBOY原創
2016-07-30 13:31:031659瀏覽

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) 支援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不間斷運行,即使運行數月也不需要重新啟動。你也能夠在不間斷服務的情況下,對軟體版本進行升級。


Proxy代理非常好非常好一般Rewriter好非常好系統壓力比較穩定性性好一般一般文件處理一般非常好好Vhosts虛擬主機支援反向代理一般Session sticky支持

server

Apache

Apache

Lighttpd

Fcgi

不好

熱部署

不支援

很大

很小

比較小

非常好

一般

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

建議方案:

Apache 後台伺服器(主要處理php及一些功能請求如:中文佔用系統資源少得優勢來處理靜態頁面大量請求)Lighttpd 

圖片伺服器總體來說,隨著

nginx總體來說,隨著

nginx

得完善將使他成為今得盡宜性。 將分別測試3種軟體在動態頁面和靜態頁面要求及併發時的回應時間l
        

n/-c (ab參數)

cpu%Mem

RequestsperSecond( 100000/200💎 732.4137.2472.8丟78.9 Time taken for tests100000/10034.6140943.666. 35.6

64

60

462.75

21.6

100000/500

83

60

94

60

126.6

NGINX

n/-c(ab參數)

cpu%

questsperSecond

100000/200

110
924.32 10.818100000/20041.142.3190633.64

100000/500

34.36🜎

10.956

100000/1000

37

160

832.59

12.106

)

cpu%

Mem

RequestsperSecond

Time taken for tests

100000/100

690.72

14.47

180

685.39

14.59

15.78

15.7815.7843.1200

l        動態頁內部社群首頁

LIGHTTPD

15.78

15.78

100000/1000

54 32.858
Mem

RequestsperSecond

Time taken for tests

1000/100

50

1000/200

52

210

30.43

25.79

38.76

1000/1000
62

250

24.83

40.28

n/-c(ab參數)
cpu%

Mem

RequestsperSecond

Time taken for tests

250
83.12

12.3055626058.9916.95158cpu%

1000/200

55.8

250

74.0550

1000/500

1000/1000

.

23.347

APACHE

n/ -c(ab參數)

Mem

RequestsperSecond

60

200
27.37

36.541

100000/200

23.82

41.981

100000/500

100000/50036.79636.796        LIGHTTPDMem100000/20047 22140.6471.103

100000/500

73

150

20.59

48.562

200

27.18

36.796

l

PHPINFO函數頁

(

RequestsperSecond

Time taken for tests

100000/100

45

1000000/500

1000000/500

52.80

NGINX

189.386

100000/1000

在請求到4840時測試測試程序死掉

100000/ 10070140.5771.140 135883. 75.657cpu%MemRequestsperSecond

n/-c(ab參數)

cpu%

Time taken for tests

120

143.46

69.70669.70620370707070707070707070707070703333333333333333333人

72

130

100000/500

73

150

100000/1000

77

160

132.18

APACHE 

APACHE 

Time taken for tests

100000/10019041.44341.443236.74網址名稱   作業系統   網頁伺服器Sougou   FreeBSD apache 2.2.46.視訊類

40.694

100000/200

72

245.79

40.684

200

241.29

100000/1000

77

220

236.74

1.入口網站類別:
搜狐LINUX           apache 1.3.37

新浪     LINUX             nginx 0.6.31
163      LINUX           apache 2.2.6 1.0

Google   linux           gws
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 0.6.32

天涯部落格    F5 Big-IP      Microsoft-IIS/5.0
優酷         linux          apache

馬鈴薯          linux           apache六間房       linux        

以上就介紹了三大WEB伺服器比較分析(apache ,lighttpd,nginx),包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:PHP模板引擎的原理與實務下一篇:PHP模板引擎的原理與實務

相關文章

看更多