web-dev-qa-db-ja.com

NginxまたはHAProxyをロードバランサーとして使用する利点

私たちの環境では、異なるクラスター上にNginxとHAProxyの両方を使用しています。どちらか一方を使用する利点はありますか?

または、基本的なLAMPサーバークラスターの負荷分散を行うための最良の方法は何ですか?

9
Jason

(これは明らかに状況に固有であるため、「負荷分散の最良の方法」については説明しません。)

HAProxyとnginxはどちらも、Unix上のオープンソースHTTPロードバランサーに最適です。非常に高いレベルで、最初に頭に浮かぶ長所と短所は私見です。

nginx:

  • SSLオフロードを実行できます(多くの場合、大きな問題です)。
  • 豊富なコンテンツ処理モジュールのセット、つまりヘッダーの書き換え、コンテンツの圧縮などがあります。
  • 「必要な唯一のHTTPd」になることがあり、他のHTTPdが必要ない場合の管理が簡単になります。
  • プラグイン、f.xでより拡張可能。トラフィックのルーティング用。

HAProxy:

  • Nginxよりも高い単一サーバーパフォーマンスを提供できます(特にTCPモードで実行している場合、 10gbit/sが実証されています )。
  • IMHOは、基本的なプレーンHTTP負荷分散のセットアップを簡単に開始して実行できます。
  • 変更は少し少なく、特に少し古い安定したブランチは、セキュリティと安定性の更新を必要とせずにしばらくの間続くことがよくあります。

しかし、前述のように、どちらも優れた選択肢です。あなたが最も快適に感じるものを選んでください。

8
Jesper M

それは本当にあなたが何をしたいかに依存します。

Nginxは、クラスター間で負荷を分割したり、特定のドメインを異なるクラスターにルーティングしたりできます。私たちのnginxのパフォーマンスは満足のいくものでした。ロードルーターのようなものです。

Haproxyの場合、サーバーのステータスを常に照会し、トラフィックをサーバーに転送する前にサーバーをチェックします。また、統計を表示できるインターフェイスもあります。 nginxどちらのスコアでもこれを行うとは思いません。

2
Daniel Baker

私たちはnginxをウェブサーバーとして使用しており、非常に満足しています。私はApacheに戻ることは決してありません。欠点は、PHPを実行することに熱心な場合です。 fastCGIで動作させるには、ハッカリージガリーが必要です。

キャッシングのためにワニスを配置することを忘れないでください!この簡単な手順で、サイトがスラッシュドット/ファイアボールされるという多くの問題が解決されます。

1
gWaldo

私はこれに関する専門家ではありませんが、私が知る限り、HAProxyの方がパフォーマンスが高く、負荷分散の方法をより構成可能です。

今、私はあなたに比較とベンチマークのリストを投げることができますが、代わりにグーグルの結果をリンクします https://encrypted.google.com/search?q=nginx+vs+haproxy

0
Not Available