ホームページ  >  記事  >  バックエンド開発  >  3大WEBサーバー(apache、lighttpd、nginx)の比較分析

3大WEBサーバー(apache、lighttpd、nginx)の比較分析

WBOY
WBOYオリジナル
2016-07-30 13:31:031657ブラウズ

1. lighttpd

Lighttpd は、メモリのオーバーヘッドが非常に低く、CPU 使用率が低く、優れたパフォーマンスと豊富なモジュールを備えたプログラムです。 lighttpd は、数多くのオープンソースの軽量 Web サーバーの中でも優れたものの 1 つです。 FastCGI、CGI、Auth、出力圧縮、URL 書き換え、エイリアス、その他の重要な機能をサポートします。

Lighttpd は、fastcgi を使用して php を実行します。これにより、大量の同時実行に応答するために使用する PHP プロセスが非常に少なくなります。

Fastcgi の利点は次のとおりです:

· 安定性の観点から、fastcgi は独立したプロセス プールで CGI を実行します。1 つのプロセスが停止した場合、システムはそれを簡単に破棄し、ロジックを実行する新しいプロセスを再割り当てできます。

· out out out out out out of safety out out of fastcgi とホスト サーバーに任せられるため、ホスト サーバーは通常の動的 Web ページの場合は IO に集中できます。処理できるのはほんの一部であり、大量の画像の静的IO処理にはロジックプログラムの関与を一切必要としません(注1)

・fastcgiはスケーラビリティの点で中立的な技術標準であり、あらゆる言語 (php、java、python...) で書かれた処理プログラムを完全にサポートします

2. apache

netcraft (

www.netsraft.co.英国

)、世界の Web サーバーの 50% 以上が Apache を使用しています。

1995 年 4 月に、最初の Apache (0.6. バージョン 2) が Apache グループによって公開およびリリースされました。Apache グループは非営利団体です。これは、完全にインターネットを通じて動作し、Apache Web サーバーの標準ディストリビューションにどのコンテンツを含めるかを決定します。新規作成時には、誰でも隠れたエラーを変更したり、新しい機能を提供したりすることができます。コードは Apache グループに送信され、グループはその特定のコンテンツをレビューしてテストし、問題がなければ、コードは Apache に統合されます。

Apache の主な機能:

1) ほぼすべてのコンピューターで実行できます。

2) 最新の http/1.1 プロトコルをサポート

3) シンプルで強力なファイルベースの構成 (httpd.conf)。

4) 共通ゲートウェイ インターフェイス (cgi) をサポート

5) 仮想ホストをサポート。

6) http 認証をサポートします。

7) perl を統合します。

8) 統合されたプロキシ サーバー

9) サーバーのステータスは Web ブラウザーを通じて監視でき、ログはカスタマイズできます

10) をサポートします。サーバー側インクルージョン コマンド (ssi)

11) セキュア ソケット レイヤー (ssl) をサポートします。

12) ユーザー セッション プロセスの追跡機能があります。

13) fastcgi をサポートします

14) Java サーブレットをサポートします

3.nginx

Nginx はロシア人によって書かれた非常に軽量な HTTP サーバーです。Nginx (「エンジン X」と発音します) は、高性能 HTTP およびリバース プロキシ サーバーであり、IMAP/POP3/SMTP プロキシ サーバーでもあります。 Nginx は、ロシアで 2 番目にアクセス数の多い Rambler.ru サイト用にロシアの Igor Sysoev によって開発されました

Nginx はイベント駆動型で記述されているため、非常に優れたパフォーマンスを備え、非常に効率的なリバース プロキシと負荷分散でもあります。 Lighttpdに匹敵する性能を持っていますが、Lighttpdのメモリリーク問題はなく、Lighttpdのmod_proxyも問題があり長らく更新されていませんでした。ただし、Nginx は CGI モードでの実行をサポートしていません。CGI モードによって引き起こされるプログラムの脆弱性を軽減できるためです。したがって、PHP プログラムを実行するには FastCGI を使用する必要があります。

nginx は、HTTP サーバーとして、次の基本機能を備えています:

静的ファイル、インデックス ファイルの処理、およびファイル記述子のバッファリングの自動有効化。

キャッシュレス リバース プロキシ アクセラレーション、シンプルなロード バランシング、フォールト トレランス。

FastCGI、シンプルなロードバランシング、フォールトトレランス。

モジュール構造。 gzip 圧縮、バイト範囲、チャンク応答、SSI フィルターおよびその他のフィルターが含まれます。 1 つのページ内に複数の SSI が存在し、FastCGI または別のプロキシ サーバーによって処理される場合、この処理はお互いを待たずに並行して実行できます。

Nginx はパフォーマンスの最適化のために特別に開発されており、パフォーマンスが最も重要な考慮事項であり、実装では効率に細心の注意を払っています。カーネル ポーリング モデルをサポートしており、高負荷のテストに耐えることができ、最大 50,000 の同時接続をサポートできることが報告されています。

Nginxは安定性が高いです。他の HTTP サーバーがアクセスのピークに遭遇したり、誰かが悪意を持って遅い接続を開始したりすると、サーバーの物理メモリが枯渇し、スワップが頻繁に発生し、応答が失われる可能性があり、サーバーは再起動するしかありません。たとえば、現在 Apache のプロセスが 200 を超えると、Web の応答速度は明らかに非常に遅くなります。 Nginx は段階的リソース割り当てテクノロジーを採用しており、CPU とメモリの使用量が非常に低くなります。 nginx は公式に、10,000 の非アクティブな接続を維持し、メモリを 2.5M しか占有しないと述べているため、DOS のような攻撃は基本的に nginx には役に立ちません。安定性の点では、nginx は lighthttpd よりも優れています。

Nginx はホットデプロイメントをサポートしています。特に起動が簡単で、ほぼ 24 時間年中無休で中断することなく実行でき、数か月間実行したとしても再起動する必要はありません。サービスを中断せずにソフトウェアのバージョンをアップグレードすることもできます。


プロキシ良いとても良いサポートされていません システム圧力は比較的高い 非常に小さい比較的小さい安定性良いとても良い悪いセーフセックス良い平均的平均的技術サポートとても良い珍しい平均 静的ファイル処理平均非常に良い良いVhosts仮想ホストサポートされているサポートされていないサポートされているリバースプロキシ平均非常に良い普通セッションスティッキーサポートされているサポートされていないサポートされていない

サーバー

Apache

Nginx

Lighttpd

とても良い

Fcgi

悪い

良い

ホットな展開

サポートされていない

注: 比較的大規模な Web サイトでは、サーバーコストの節約は間違いなく客観的です。小規模な Web サイトには、多くのサーバーが存在しない場合が多く、Apache などの従来の Web サーバーを使用していれば存続できるようです。しかし、これには明らかな欠点があります。Apache はトラフィックのバースト (クローラーや Digg の影響など) に対処するときに簡単に過負荷になってしまいます。この場合、Nginx が最適です。

推奨ソリューション:

Apache バックエンドサーバー (主に php と中国語のurlなどの一部の機能リクエストを処理します)

Nginx フロントエンドサーバー (それを使って占有するシステムリソースが少なくなり、静的ページに対する大量のリクエストを処理できる利点が得られます)

Lighttpd 画像サーバー

一般に、nginxの改良により、それが主流になるでしょう将来的にはウェブサーバー。 dynamicページと静的ページのリクエストと並行性に応じて、3種類のソフトウェアの応答時間をテストします
l

-c(abパラメーター)

cpu%mem

1秒あたりのリクエスト数126.6NGINX
テストにかかった時間

100000/100

64

60

462.75
21.6

100000/200

67

60

312.0 7
32.4

100000/500

83

60

137.24
72.8

100000/1000
エラーパケットロス

94

60

78 .9

n /-c (ab パラメーター)

cpu%
Mem

Re QuestsperSecondAPACHE
テストにかかった時間

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

n/-c (abパラメータ)

cpu%
Mem

RequestsperSecond
テストにかかった時間

100000/100

40.6

170

690.72
14.47

1 00000/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

542 3025.7938.761000/ 10006225024.8340.28

n/-c (abパラメータ)

cpu%

M em

1秒あたりのリクエスト数

テストにかかった時間

1000/100

50

200

33.54

29.816

1000/200

52

210

30.43

32.858

1000/500

NGINX

n/-c (ab パラメータ)cpu% MemRequestsperSecondテストにかかった時間1000/10053.825083.1212.3051000/20055.825074.0513.5041000/5005626058.99 1000/1000アパッチ

16.951

58

260

43.41

23.347

n / -c (ab パラメーター)100000/100 100000/200100000/500100000/1000l

cpu%

Mem

RequestsperSecond

テストにかかった時間

60

200

27.37

36.541

61

220

23.82

41.981

73

150

20.59

48.562

53

200

27.18

36.796

PHPINFO 関数ページ Mem

RequestsperSecond

テストにかかった時間

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

テストにかかった時間

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

1秒あたりのリクエスト数

テストにかかった時間

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サーバー

1. ポータルウェブサイトのカテゴリ:

Sohu LINUX apache 1.3.37

Sina LINUX apache 2.0.54

Thunder LINUX nginx 0.6.31

163 LINUX apache 2.2.6

2.検索クラス

Baidu 不明 BWS 1.0

Google linux g ws

総合FreeBSD apache 2.2.4

Hao123 linux apache 2.2.4

4. 電子メールクラス

126 linux apache

Hotmail win2003 Microsoft-IIS 6 .0

Sina Mailbox F5 Big-IP apache 2.2.8

263 Linux アパッチ 2.2 .6 类5. ブログ 浪シナブログ Linux nginx 0.5.35

捜胡ブログ Linux nginx

雷ブログ Linux nginx 0.6.32

天亜ブログ F5 Big-IP Microsoft-IIS/5.0

6。動画カテゴリ

Youku nginx 0.6.14

以上、3つの主要なWEBサーバー(apache、lighttpd、nginx)の比較分析を内容も含めて紹介しましたが、PHPチュートリアルに興味のある友人の参考になれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。