Apache vs Lighttpd vs Nginx對比


本次調研主要對目前主流的WEB服務器Apache/Lighttpd/Nginx下靜態文件的訪問進行對比。主要從性能、穩定性、簡易性(安裝、配置、依賴、大小)等方面入手。最后在Windows環境下,對其性能進行比較。

 

簡介

1.    Apache

Apache是世界使用排名第一的Web服務器軟件。它可以運行在幾乎所有廣泛使用的計算機平台上,由於其跨平台和安全性被廣泛使用,是最流行的Web服務器端軟件之一。Apache能取得如此成功並不足為奇:它免費、穩定且性能卓越;但Apache能取得如此佳績的另一個原因是,當時互聯網剛剛興起時,Apache是第一個可用的Web應用服務器,人們沒有其他的選擇。

對於那些需要更強大的Web應用服務器(比如大小、可定制、響應速度、可擴展性等方面)的人而言,Apache明顯不符合他們的要求,尋找Apache的替代者是更好的選擇。

 

2.    Lighttpd

Lighttpd是一個具有非常低的內存開銷,cpu占用率低,效能好,以及豐富的模塊等特點。lighttpd是眾多OpenSource輕量級的web server中較為優秀的一個。支持FastCGI, CGI, Auth, 輸出壓縮(output compress), URL重寫, Alias等重要功能。

 

3.    Nginx(Ngwsx)

Nginx是十分輕量級的HTTP服務器,是一個高性能的HTTP和反向代理服務器,Nginx以事件驅動的方式編寫,所以有非常好的性能,同時也是一個非常高效的反向代理、負載平衡。其擁有匹配 Lighttpd的性能,同時還沒有Lighttpd的內存泄漏問題。

 

 

對比

server

Apache

Nginx     

Lighttpd

Proxy代理

非常好

非常好

一般

Rewriter

非常好

一般

Fastcgi

不好

非常好

熱部署

不支持

支持

不支持

系統壓力比較

很大

很小

比較小

穩定性

非常好

不好

安全性

一般

一般

技術支持

非常好

很少

一般

靜態文件處理

一般

非常好

Vhosts虛擬主機

支持

支持

支持

反向代理

一般

非常好

一般

Session sticky

支持

不支持

不支持

量級

重量級

輕量

輕量

復雜度(安裝、配置)

較復雜

簡單

簡單

 

 

總結(靜態資源)

Apache:

  • 優點:

    • Apache的兼容性和穩定性都是非常強
    • Apache 的模塊比 Nginx/Lighttpd豐富
    • Apache在處理動態請求比Nginx/Lighttpd更有優勢
  • 缺點:

    • 屬於重量級web服務器(重量級主要是在軟件包的大小上比較大,軟件的耦合度大)
    • 在速度、性能不及其他輕量級web服務器,並且消費內存較高。使用傳統的select模型,比較穩定的Prefork模式為多進程模式,需要經常派生子進程。所以消耗的cpu等服務器資源比較大。

 

Lighttpd:

  • 優點:

    • 虛機的配置處理方式比 apache 直觀,比Apache輕量

    • 輕量級web服務器,cpu占用低,效能好,模塊豐富,對fastcgi支持非常好。
    • 支持高並發,和Nginx差不多,比apache性能高很多。
  • 缺點:

    • 穩定性沒有Apache和Nginx高,bug相對較多

 

Nginx:

  • 優點:

    • 輕量級,比apache 占用更少的內存及資源
    • 抗並發,nginx 處理請求是異步非阻塞的,而apache 則是阻塞型的,在高並發下nginx 能保持低資源低消耗高性能
    • 高度模塊化的設計,編寫模塊相對簡單
    • 有Lighttpd的性能,且更穩定,沒有其內存泄露問題;
    • 處理靜態文件,索引文件以及自動索引,打開文件描述符緩沖。
  • 缺點:

    • nginx處理動態請求是雞肋,不如Apache;

 

 

建議方案:

Apache 后台服務器(主要處理php及一些動態請求);Nginx  前端服務器(高並發請求、靜態資源、負載均衡、反向代理和前端Cache等)。

 

性能測試

在Linux下的性能評測見:http://www.blogjava.net/daniel-tu/archive/2008/12/29/248883.html

在Windows下的性能評測見:http://down.chinaz.com/server/201202/1614_1.htm

從網友的實際評測結果來看,對靜態資源訪問的服務器還是Nginx最好。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM