Dispatcher コンポーネントのクライアントからサーバーに対するアフィニティーによる接続の最適化

Dispatcher アフィニティー機能は、クライアント IP アドレスをバックエンド・サーバーにマップします。パケットの宛先 IP アドレスがクラスターと一致し、宛先ポートが Load Balancer ポートに一致し、さらにソース IP アドレスが一致すると、アフィニティーが確立されます。

このタスクについて

アフィニティーが確立されると、これ以降のパケットは同じバックエンド・サーバーに送信されます。サーバーのダウンやサーバーの削除が原因でアフィニティーが切断されると、そのサーバーへのアフィニティーしたがって接続がすべて切断されます。 また、コマンド行クライアントまたは GUI クライアントには、「接続」情報は報告されません。 活動中のアフィニティー・レコードの数だけが使用されます。

この方法の利点は、堅固なアフィニティーが得られること、および Load Balancer の効率が向上することにあります。 該当するアフィニティーの方法を使用することで、接続の転送と比較して、メモリー および CPU の使用率が減少します。
Avoid trouble Avoid trouble: アフィニティー・レコードを削除すると接続も切断されるため、Load Balancer for IPv4 から Load Balancer for IPv4 and IPv6 に移行する場合は、最大ステイル・タイムアウト設定に設定した値を Load Balancer for IPv4 and IPv6 のスティッキー時間設定の値として使用する必要があります。gotcha
Load Balancer が接続をどのように経路指定するかに基づいて選択アルゴリズムを選択します。 以下の選択アルゴリズムを選択することができます。
affinity
後続のパケットが前のパケットと同じクライアントから到着した時に、要求が前のパケットと同じサーバーに送信されることを指定します。 時間が経過すると、クライアントはパケットの送信を終了し、アフィニティー・レコードが廃棄されます。
各アフィニティー・レコードは、スティッキー時間値 (秒単位) の間存続します。
  • 次の接続がスティッキー時間値の間隔内に受信されると、アフィニティー・レコードは有効のままになり、要求は同じサーバーに送信されます。
  • 次の接続がスティッキー時間値の間隔外に受信されると、レコードは除去されます。Load Balancer は、スティッキー時間値の満了後に受信される接続に対して新規のサーバーを選択します。
quiesce コマンドを使用して、サーバーをオフラインにすることができます。 staletimeout 値の有効期限が切れた後に、サーバーは終了します。以下は quiesce コマンドの例です。
dscontrol manager quiesce server
connection
新しい TCP 接続がクライアントから受信されるたびに、Load Balancer はその時点で サーバーを選択してパケットを転送するように指定します。次の接続が同じクライアントから到着すると、Load Balancer は、この接続を関連のない新しい接続として処理して、その時点で適切なサーバーを選択します。
connection+affinity
既存の接続からパケットが到着する時に、その接続に選択されたサーバーに転送されることを指定します。 パケットが既存の接続に属さないが、同じクライアントから到着する場合、Load Balancer は、前の接続に選択されたのと同じサーバーを選択します。

connection+affinity アルゴリズムの動作は、affinity アルゴリズムと似ていますが、affinity のタイムアウト値は各接続の開始から計算されます。したがって、同じクライアントからの 2 つの接続の開始と開始の間の時間がスティッキー時間より短い場合、両方の接続が同じサーバーに転送されます。

手順

Task topic    

Terms and conditions for information centers | Feedback

Last updated: May 28, 2013 08:30 AM EDT
File name: tprf_affinity.html