ホームページ  >  記事  >  運用・保守  >  nginxとhaproxyの違い

nginxとhaproxyの違い

(*-*)浩
(*-*)浩オリジナル
2019-06-04 17:07:596216ブラウズ

ソフト ロードの場合、主流のソリューションには LVS、Haproxy、Nginx が含まれていることは誰もが知っています。では、Haproxy と Nginx のどちらをどのように選択すればよいのでしょうか?この質問に答える前に、私の個人的な経験に基づいて彼らの特徴について話しましょう!

nginxとhaproxyの違い

Haproxy 機能

TCP および HTTP プロトコルをサポートし、ネットワーク レイヤ 4 およびレイヤ 7 で動作します

セッション共有、Cookie ガイダンスのサポート

URL ヘルス検出のサポート

8 つのロード バランシング戦略のサポート

ハートビート検出のサポート

#Nginx の機能

ネットワーク層 7 で動作する Http プロトコルのサポート

ポートの健全性検出のサポート

強力な通常のマッチング ルールのサポート

WebSocket プロトコルのサポート

HTTP キャッシュのサポート

説明:

HTTP プロトコルでは、Haproxy の処理効率が Nginx よりも高くなります。したがって、特別な要件や一般的なシナリオがない場合は、HTTP プロトコルのロードに Haproxy を使用することをお勧めします。しかし、Web であれば Nginx を使用することをお勧めします! つまり、誰もがそれぞれの使用シナリオの特性に基づいて合理的な選択を行うことができます!

前回誰かが私に質問しました: Nginx または Haproxy の接続数は「65535」の「呪い」を打ち破ることができますか?実際、Nginx や Haproxy の動作原理を理解していないため、誰もがそのような疑問を抱いています。

以下では、Linux サーバーを例として、この 2 つの間の理論上の最大接続数を説明します。

Linux 上の Nginx の理論上の最大接続数

正しいリバース プロキシ: 最大接続数 = work_processes * work_connections

リバース プロキシ: 最大接続数 = work_processes * work_connections / 4

注: work_connections は、1 つのプロセスが接続できる最大接続数を指します。ハンドル。サーバーに 8 コアがあると仮定します。worker_connections =
65535 (カスタマイズ可能ですが、1 つの接続は 1 つのファイル記述子を使用することと同等であるため、ファイル記述子の最大数を超えることはできません)

最大上記 2 つの場合の接続数 (理論値) は次のとおりです: 8 * 65535 および 8 * 65535 /4

Linux 上の Haproxy の理論上の最大接続数

最大接続数 = maxconn(global |defaults | listen )

Nginx 関連の技術記事の詳細については、

Nginx 使用法チュートリアル

列にアクセスして学習してください。

以上がnginxとhaproxyの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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