![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
緊急スロットルの構成
オンデマンド・ルーター (ODR) と、関連したオートノミック・マネージャーは、 サーバーに入る作業に対して賢明な判断を行い、極度の要求フローがある時にビジネス目標を サポートすることができます。オートノミック要求フロー・マネージャー (ARFM) は、 ODR 内で HTTP 要求の優先順位付けを制御します。センサーがそのような過負荷状態を検出すると、 緊急状態になることがあります。 こうした過負荷状況としては非常に高いノードの使用率、ARFM コントローラーと要求スケジューリング・ゲートウェイ間の断続的通信障害、およびデータ・プロデューサーをモニターしている AsyncPMI とゲートウェイ間の断続的通信障害があります。 これらの状態が発生する場合に、そうした状態が長引くことや、それに伴って性能の低下が起こることを 防止するため、ゲートウェイは緊急スロットル・コントローラーを装備しており、それらのコントローラーが、 バックエンド・ノードへの要求のディスパッチ率を制御し、 安全に保護します。ARFM は、IIOP/JMS 要求のバックエンド内で処理されます。
ARFM は、コントローラーとゲートウェイの 2 つのパーツを含みます。それぞれの ノード・グループに対して、コントローラーと ODR のゲートウェイのコレクションにより ARFM 機能 が実装されています。ARFM コントローラー (システムで使用可能な場合、eWLM コントローラーにより起動) は、ゲートウェイへの通常のスロットル・ディレクティブを 開始します。通常モードでは、スロットル・ディレクティブは ARFM コントローラーから RatesMessages 経由で 送られ、ゲートウェイでスロットル・コントローラーにより即座に実行されます。
スロットルは、ゲートウェイの各キューに接続しており、デフォルトではスロットルの状態にはなっていません。 緊急事態が発生するか、ARFM コントローラーから速度メッセージが届くと、スロットルは、スロットル・コントローラーからディレクティブを受け取り、スロットル状態に変わります。
通常のスロットルであるにも関わらず、1 つ以上の過負荷センサーが過負荷状態を検出した場合、 ゲートウェイ・スロットル・コントローラーは緊急モードになります。緊急ブラックアウト・センサーは、ARFM コントローラーと要求スケジューリング・ゲートウェイの間の通信障害、または AsyncPMI モニター・データ・プロデューサーとゲートウェイの間の通信障害を検知します。ブラックアウト という用語は、センサーが予想したメッセージを受信しないことを意味します。緊急モードでは、過負荷センサーが警告発信を停止するまで、スロットル・コントローラーは少しずつ ゲートウェイ・キューのディスパッチ率を低くしていきます。次に元の設定 (緊急モードに入る前) になるまで率を 少しずつ復元します。率を復元している間、スロットル・コントローラーは、 ARFM コントローラーからの率ディレクティブが限度を超えないようにし、 その結果、各種コントローラーによって行われるスロットル決定の整合性が保持されます。これらのコンポーネントは、一緒に作動することで、 着信要求を適切に制限します。
複数のセンサーが緊急状態を検出すると、 スロットル・コントローラーは緊急モードになります。それぞれのセンサーは、警告発信か警告停止の 2 つの状態の いずれかになります。緊急状態の場合、emergency_throttle と emergency_unthrottle のスロットル・コントローラーの 2 つのフェーズがあります。emergency_throttle フェーズの間、 スロットルはセンサーが 1 つでも警告発信していれば、すべてのキュー率を 削減します。emergency_unthrottle フェーズでは、すべてのセンサーは警告停止の状態に戻り、 すべてのキュー率を、緊急モードに入る前の元の値 になるまで少しずつ復元します。
EnableEmergencyThrottling=true
EnableExternalThrottling=false
- EmergencyRateChangeStep=x: x は 0 から 100 までの整数で、 スロットル率の段階的減少/増加の各ステップで率のパーセンテージの変更を指定します。デフォルト値は 20 です。
- EmergencyRateChangeInterval=x: x は、緊急モードでの 2 つの連続する率変更ステップの間の時間 (ミリ秒) です。デフォルト値は 15000 です。
- EmergencyBlackoutMultiplier=x: x は緊急ブラックアウト・センサーへの入力として使用される 別の通常メッセージ・サイクルで乗算される乗数です。EmergencyBlackoutMultiplier パラメーター は、警告発信までの待機時間をセンサーに間接的に指示する 構成パラメーターです。この間隔は、このパラメーターと、連続したメッセージ間の標準の予想間隔との積 (乗算) で決定されます。デフォルト値は 2 です。
- EmergencyCPUUtilLimit=x: x は 0 から 100 までの整数で、緊急スロットルを起動するバックエンド・ノードのプロセッサー使用率ウォーターマークを指定します。デフォルト値は 100 です。
- TokenBucketSizeMillis=x: x は、トークン・バケット・キューに累積できるトークンの数 です。デフォルト値は 1000 です。