井中月

          知足常樂!
          posts - 11, comments - 19, trackbacks - 0, articles - 0

          三大WEB服務器對比分析(apache ,lighttpd,nginx)

          Posted on 2008-12-29 14:03 井中月 閱讀(151358) 評論(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.

          19954, 最早的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的內存泄漏問題,而且Lighttpdmod_proxy也有一些問題并且很久沒有更新。但是Nginx并不支持cgi方式運行,原因是可以減少因此帶來的一些程序上的漏洞。所以必須使用FastCGI方式來執行PHP程序。

          nginx做為HTTP服務器,有以下幾項基本特性:

          處理靜態文件,索引文件以及自動索引;打開文件描述符緩沖.

          無緩存的反向代理加速,簡單的負載均衡和容錯.

          FastCGI,簡單的負載均衡和容錯.

          模塊化的結構。包括gzipping, byte ranges, chunked responses,以及 SSI-filterfilter。如果由FastCGI或其它代理服務器處理單頁中存在的多個SSI,則這項處理可以并行運行,而不需要相互等待。

          Nginx專為性能優化而開發,性能是其最重要的考量,實現上非常注重效率。它支持內核Poll模型,能經受高負載的考驗,有報告表明能支持高達 50,000個并發連接數。

          Nginx具有很高的穩定性。其它HTTP服務器,當遇到訪問的峰值,或者有人惡意發起慢速連接時,也很可能會導致服務器物理內存耗盡頻繁交換,失去響應,只能重啟服務器。例如當前apache一旦上到200個以上進程,web響應速度就明顯非常緩慢了。而Nginx采取了分階段資源分配技術,使得它的CPU與內存占用率非常低。nginx官方表示保持10,000個沒有活動的連接,它只占2.5M內存,所以類似DOS這樣的攻擊對nginx來說基本上是毫無用處的。就穩定性而言,nginxlighthttpd更勝一籌。

          Nginx支持熱部署。它的啟動特別容易, 并且幾乎可以做到7*24不間斷運行,即使運行數個月也不需要重新啟動。你還能夠在不間斷服務的情況下,對軟件版本進行進行升級。

          .3WEB服務器的比較:

          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

          Feedback

          # re: 三大WEB服務器對比分析(apache ,lighttpd,nginx)   回復  更多評論   

          2009-11-10 14:13 by 招聘
          這樣看lighttpd大網站用的不多嘛

          # re: 三大WEB服務器對比分析(apache ,lighttpd,nginx)   回復  更多評論   

          2010-04-21 10:57 by ablo
          很好的文章,謝謝!

          # re: 三大WEB服務器對比分析(apache ,lighttpd,nginx)   回復  更多評論   

          2011-04-18 15:18 by Hector
          非常詳細呀。非常好。。

          # re: 三大WEB服務器對比分析(apache ,lighttpd,nginx)   回復  更多評論   

          2011-05-10 11:46 by George Wing
          是08年時的文章,學習了~謝謝~!

          # re: 三大WEB服務器對比分析(apache ,lighttpd,nginx)   回復  更多評論   

          2011-07-05 14:34 by coolesting
          這樣看lighttpd大網站用的不多嘛
          ----------------------------------

          大網站一般都幾個一起用, 前邊放的nginx, 后邊放在lighttpd, 從上面的性能表就看得出,

          而apache比較綜合性, 建中小網站比較合適, 功能強大, 應用廣,
          至于大網站, 負載上有問題, 所以用得少。

          coolesting@gmail.com

          # re: 三大WEB服務器對比分析(apache ,lighttpd,nginx) [未登錄]  回復  更多評論   

          2011-08-17 17:01 by 小小
          主要是關心這些性能測試數據如何得來????使用的是什么工具統計???

          # re: 三大WEB服務器對比分析(apache ,lighttpd,nginx)   回復  更多評論   

          2011-09-02 14:39 by sake
          很多網站是前端nginx后端lighttpd。

          # re: 三大WEB服務器對比分析(apache ,lighttpd,nginx)   回復  更多評論   

          2011-10-13 10:13 by heronote
          Free nginx eBook:

          http://www.heronote.com/files/nginx.htm

          # re: 三大WEB服務器對比分析(apache ,lighttpd,nginx)   回復  更多評論   

          2011-11-01 16:36 by rmn190
          請能從實現原理上分析下, 上面三個web服務器在各性能指標方面的差異?

          # re: 三大WEB服務器對比分析(apache ,lighttpd,nginx)   回復  更多評論   

          2013-05-04 10:42 by 霡霂
          nginx在08年時不支持Vhost虛擬主機嗎?

          # re: 三大WEB服務器對比分析(apache ,lighttpd,nginx)   回復  更多評論   

          2013-07-10 23:48 by kunkun
          那到底怎么區分大小網站呢?

          # re: 三大WEB服務器對比分析(apache ,lighttpd,nginx)   回復  更多評論   

          2013-08-22 05:31 by hijack
          百度      unknown ---百度的OS用的也是Linux,發行版是Red Hat

          # re: 三大WEB服務器對比分析(apache ,lighttpd,nginx)   回復  更多評論   

          2013-10-14 23:30 by yhmhost
          lighttpd 有時候不太穩定 虛擬主機經常出現打不開情況 使用NGINX就穩定多了 俄羅斯人在軟件技術方面比德國人高明許多

          # re: 三大WEB服務器對比分析(apache ,lighttpd,nginx)   回復  更多評論   

          2014-01-06 21:49 by 呂津
          good.

          # re: 三大WEB服務器對比分析(apache ,lighttpd,nginx) [未登錄]  回復  更多評論   

          2014-06-30 11:51 by ryan
          文章有點舊了,現在nginx是獨占鰲頭啊!

          # re: 三大WEB服務器對比分析(apache ,lighttpd,nginx)   回復  更多評論   

          2014-12-16 01:25 by 閆迎強
          現在云主機上幾乎清一色的nginx,Apache都很少用了

          # re: 三大WEB服務器對比分析(apache ,lighttpd,nginx)   回復  更多評論   

          2016-05-10 17:54 by 無名知客
          學習了,多謝樓主

          # re: 三大WEB服務器對比分析(apache ,lighttpd,nginx)   回復  更多評論   

          2016-06-03 10:41 by John Ward
          Apache和Nginx都試用了幾個月后,最終決定LNMPA組合~

          # re: 三大WEB服務器對比分析(apache ,lighttpd,nginx)   回復  更多評論   

          2016-08-04 21:34 by 岳洪材
          這是2008年的內容!
          主站蜘蛛池模板: 张家川| 曲麻莱县| 柳江县| 呼图壁县| 武宣县| 万盛区| 东宁县| 临夏县| 正阳县| 淄博市| 资兴市| 上饶市| 桂阳县| 宜丰县| 邵阳市| 南雄市| 会昌县| 盘锦市| 徐水县| 洪雅县| 资溪县| 怀仁县| 双流县| 通许县| 盐山县| 武宁县| 青铜峡市| 奈曼旗| 公安县| 贡嘎县| 太和县| 独山县| 南安市| 伊宁县| 太原市| 阿城市| 绍兴市| 惠州市| 大足县| 竹山县| 湖南省|