nginxの7負荷いくつかのスケジューリングアルゴリズムのバランスをとります

nginxのは、軽量、高性能なWebサーバだけでなく、非常に優れたロードバランサとリバースプロキシサーバです。URLrewrite機能とネットワークの安定性の簡単なインストールと設定は非常に小さい利点を依存しているため、強い正の支援のマッチングルール、静的および動的分離の、それは一般的に7負荷分散のために使用するために使用されます。ハードウェアの場合は悪いわけではない、それは通常、安定した支持の十同時接続数千のは、ハードウェアの性能は十分に良いですができ、システムのカーネルパラメータとnginxの構成の最適化は、さらに10万人以上の同時に到達することができます。

以下は、いくつかの一般的なスケジューリングアルゴリズムと該当するビジネスシナリオをロードバランシングとして7 nginxのです

1、ポーリング(デフォルトスケジューリング)

特長:各要求を個別に時系列で異なるバックエンドサーバに割り当てられています。
 該当するビジネスシナリオ:バックエンドサーバーのハードウェア構成と全く同じ性能を、特別なビジネス要件を使用していません。
{backendserver上流
サーバー192.168.0.14:80 max_fails fail_timeout = 2 = 10秒;
サーバー= 2 fail_timeout 192.168.0.15:80 max_fails = 10秒;
}

2、WRR

特徴:ポーリング確率、重み値(重み)、およびアクセスが割当て重みを要求するユーザの重量割合によって、比に比例します。
 該当するビジネス・シナリオ:不均一な状況のバックエンドサーバーのハードウェアの処理能力。
{backendserver上流
サーバー192.168.0.14:80重量= 2.5 max_fails = fail_timeout = 10秒;
サーバー192.168.0.15:80重量= 10 = 2 fail_timeout max_fails = 10秒;
}

3、ip_hash

特徴:各要求は、アクセスの各訪問者の固定バックエンドサーバは、セッションのセッションを維持する問題を解決することができるようにすることを、訪問のIPハッシュ結果に従って割り当てられます。
 該当するビジネスシナリオ:アカウントのログインシステム、キープ事業へのセッション接続を必要とするアプリケーションに。
{backendserver上流
ip_hash;
SERVER = 2 192.168.0.14:80 fail_timeout max_fails = 10秒;
サーバー= 2 192.168.0.15:80 fail_timeout max_fails = 10秒;
}

図4に示すように、接続の最小数least_conn

特徴:プロキシとバックエンドサーバーの数、優先順位を割り当てられた接続の最小数との間を押しnginxの逆接続。

該当するビジネス・シナリオ:クライアントとバックエンドサーバー用には、長い接続事業を維持する必要があります。
{backendserver上流
least_conn;
SERVER = 2 192.168.0.14:80 fail_timeout max_fails = 10秒;
サーバー= 2 192.168.0.15:80 fail_timeout max_fails = 10秒;
}

5、公正(ngx_http_upstream_fair_moduleをコンパイルしたサードパーティ製のモジュールをインストールする必要があります)

特徴:バックエンドサーバ割当要求の応答時間に応じて、短い応答時間優先順位を割り当てます。
 該当するビジネスシナリオ:ビジネスの応答性へのアクセスのための一定の要件があります。
{backendserver上流
フェアを、
サーバー= 2 fail_timeout 192.168.0.14:80 max_fails = 10秒;
サーバー= 2 fail_timeout 192.168.0.15:80 max_fails = 10秒;
}

6、url_hash(ngx_http_upstream_hash_moduleをコンパイルしたサードパーティ製のモジュールをインストールする必要があります)

特長:ハッシュアクセス要求URLの結果に応じて、同じバックエンドサーバーに同じURLへのアクセスを割り当てます。
 該当するビジネスシナリオ:バックエンドサーバー用の際にキャッシュサーバより効果的です。
{backendserver上流
サーバー192.168.0.14:80 max_fails fail_timeout = 2 = 10秒;
サーバー192.168.0.15:80 max_fails = 2 = 10Sをfail_timeout、
ハッシュ$ REQUEST_URI;
}

おすすめ

転載: www.linuxidc.com/Linux/2019-11/161254.htm