Communications Server は、システムが過負荷状態になるのを防ぐ、過負荷保護機能を備えています。一般的な過負荷保護および負荷規制の方式は、負荷が増大しているときに、特定の種類の要求を拒否することです。過負荷の状況に応じて、特定の要求に優先順位が付けられ、システムの負荷を減少させるために特定の要求が拒否されます。たとえば、過負荷の状況では、Communications Server は新規の SIP セッションを拒否して、実行中のセッションを優先します。
過負荷保護サービスは、管理コンソールで「設定」—>「過負荷保護」ノードを使用するか、asadmin get と set コマンドを使用して表示や設定ができます。
Communications Server で過負荷保護を有効にするには、次の操作を行います。
enabled 属性を true に設定します。デフォルトでは、この値は false に設定されています。次のコマンドを使用して、このプロパティーを設定します。
asadmin set config.overload-protection-service.enabled=true
次のプロパティーの使用は、Communications Server 2.0 では推奨されません。 config.sip-container.property.olpInserted、 config.sip-container.property.CPUOverLoadRegulation、および config.sip-container.property.MemOverLoadRegulation。これらのプロパティーの代わりに、overload-protection-service 要素の属性を使用してください。
この属性の設定に加えて、次のいずれかのタイプの過負荷保護を有効にする必要があります。
Communications Server では、CPU の負荷に基づいて、受信 HTTP および SIP 要求を規制できます。
CPU 過負荷保護を有効にするには、cpu-overload-protection 属性を true に設定します。デフォルトでは、この値は false に設定されています。次のコマンドを使用して、この属性を設定します。
asadmin set config.overload-protection-service.cpu-overload-protection=true
過負荷保護の設定を表示するには、次のコマンドを使用します。
asadmin get config.overload-protection-service.*
config1.overload-protection-service.cpu-http-threshold = 70 config1.overload-protection-service.cpu-ir-threshold = 70 config1.overload-protection-service.cpu-mm-threshold = 99 config1.overload-protection-service.cpu-overload-activation-algorithm = MEDIAN config1.overload-protection-service.cpu-overload-deactivation-algorithm = CONSECUTIVE config1.overload-protection-service.cpu-overload-protection = true config1.overload-protection-service.cpu-sr-threshold = 90 config1.overload-protection-service.number-of-samples = 5 config1.overload-protection-service.retry-after-interval = 10 config1.overload-protection-service.sample-rate = 2 |
CPU 過負荷保護の属性は次のとおりです。
cpu-http-threshold - このしきい値を超えると、すべての受信 HTTP 要求が拒否され、503 応答が送信されます。
cpu-ir-threshold - このしきい値を超えると、初期受信 SIP 要求が拒否され、503 応答が送信されます。
cpu-sr-threshold - このしきい値を超えると、以降のすべての受信 SIP 要求が拒否され、503 応答が送信されます。
cpu-mm-threshold - このしきい値を超えると、すべての受信 HTTP 要求および SIP 要求が拒否されます。
cpu-overload-protection - CPU 過負荷保護が有効かどうかを指定します。
cpu-overload-activation-algorithm - CPU の過負荷状態を検出するアルゴリズムを指定します。有効な値は、CONSECUTIVE と MEDIAN です。
cpu-overload-deactivation-algorithm - CPU の過負荷状態の終わりを検出するアルゴリズムを指定します。有効な値は、CONSECUTIVE と MEDIAN です。
mm-threshold-http-wait-time - スレッドをプールに解放するまでに保持する期間を示します。この属性は、HTTP 要求の最大過負荷に関して使用されます。過負荷状態では、要求の処理にスレッドをすぐに利用できないため、システムの過剰な要求を減らすことができます。デフォルトは 2 秒です。
sample-rate - CPU 使用状況を測定する間隔。
number-of-samples - 要求の拒否と 503 応答の送信がトリガーされるまでに、CPU 使用状況がしきい値レベルを超える必要があるサンプル数。
retry-after-interval - CPU 使用状況を測定するまでの間隔。これは、503 応答の retry-after ヘッダーに設定される値です。
これらの値を表示および設定するには、管理コンソールで「設定」—>「過負荷保護」ノードを使用するか、asadmin get と set コマンドを使用します。
たとえば、cpu-mm-threshold プロパティーの値は、次のコマンドを使用して設定できます。
asadmin set config.overload-protection-service.cpu-mm-threshold =80
Communications Server では、メモリーの使用状況に基づいて、受信 HTTP および SIP 要求を規制できます。
メモリー過負荷保護を有効にするには、memory-overload-protection 属性を true に設定します。デフォルトでは、この値は false に設定されています。次のコマンドを使用して、この属性を設定します。
asadmin set config.overload-protection-service.memory-overload-protection=true
過負荷保護サービスのメモリー過負荷保護の属性は、次のとおりです。
config1.overload-protection-service.mem-http-threshold = 85 config1.overload-protection-service.mem-ir-threshold = 85 config1.overload-protection-service.mem-mm-threshold = 99 config1.overload-protection-service.mem-overload-activation-algorithm = MEDIAN config1.overload-protection-service.mem-overload-deactivation-algorithm = CONSECUTIVE config1.overload-protection-service.mem-sr-threshold = 85 config1.overload-protection-service.memory-overload-protection = false config1.overload-protection-service.mm-threshold-http-wait-time = 2 config1.overload-protection-service.number-of-samples = 5 config1.overload-protection-service.retry-after-interval = 10 config1.overload-protection-service.sample-rate = 2 |
次のしきい値レベルを設定できます。
mem-http-threshold - このしきい値を超えると、すべての受信 HTTP 要求が拒否され、503 応答が送信されます。
mem-ir-threshold - このしきい値を超えると、初期受信要求が拒否され、503 応答が送信されます。
mem-mm-threshold - このしきい値を超えると、すべての受信 HTTP 要求および SIP 要求が拒否されます。
mem-overload-protection - メモリー過負荷保護が有効かどうかを指定します。
mem-overload-activation-algorithm - メモリーの過負荷状態を検出するアルゴリズムを指定します。有効な値は、CONSECUTIVE と MEDIAN です。
mem-overload-deactivation-algorithm - メモリーの過負荷状態の終わりを検出するアルゴリズムを指定します。有効な値は、CONSECUTIVE と MEDIAN です。
mm-threshold-http-wait-time - スレッドをプールに解放するまでに保持する期間を示します。この属性は、HTTP 要求の最大過負荷に関して使用されます。過負荷状態では、要求の処理にスレッドをすぐに利用できないため、システムの過剰な要求を減らすことができます。デフォルトは 2 秒です。
sample-rate - メモリー使用状況を測定する間隔。
number-of-samples - 要求の拒否と 503 応答の送信がトリガーされるまでに、メモリー使用状況がしきい値レベルを超える必要があるサンプル数。
retry-after-interval - メモリー使用状況を測定するまでの間隔。これは、503 応答の retry-after ヘッダーに設定される値です。