Sx での負荷/過負荷および UP データスロットリングのサポート

機能説明

負荷/過負荷のサポートが PC CUPS アーキテクチャに実装されています。このサポートは、制御プレーン(CP)とユーザープレーン(UP)の間で処理されます。

負荷制御機能により、UP は負荷情報を CP に送信し、有効負荷に応じて UP 機能全体で PFCP セッション負荷を調整して分散できます。一方、過負荷制御機能では、特定の UP に対する新しいセッション要求をスロットリングできます。

機能の仕組み

ユーザープレーンの選択

負荷/過負荷のサポートが有効になっている場合、UP グループを使用して、以下のように UP の選択が実装されます。

  • 過負荷状態の UP がない場合は、負荷制御情報(LCI)が UP の選択に使用されます。この場合、最も負荷が少ない UP が選択されます。

  • すべての UP が過負荷状態の場合、過負荷制御情報(OCI)に基づいて UP が選択されます。この場合、最も過負荷が少ない UP が選択されます。

    • 特定の UP が選択された後も、スロットリングのために削減メトリックがこの UP に適用されます。

    • スロットリングをドロップする必要がある場合、その PDN 接続に対する UP の選択要求は拒否されます。

  • 一部の UP が過負荷状態で、一部の UP が過負荷状態ではないシナリオでは、OCI 値に基づいて選択が行われます。

  • ピアノードの LCI または OCI 値が同じ場合、セッションカウント情報が UP の選択に使用されます。

ノードレベルの負荷/過負荷のサポート

CP は、有効になっている負荷/過負荷のサポートについて UP に通知します。この情報に基づいて、UP は負荷/過負荷情報を CP ピアに送信するかどうかを決定します。

CP での負荷/過負荷のサポートは、Sx サービスノード設定の一部として設定されます。この情報は、dynamix 設定によって情報が変更された場合、Sx 関連付け応答または Sx 関連付け更新要求時に UP に送信されます。


(注)  


CP がサポートされている CLI を使った負荷/過負荷機能をサポートしていない場合、UP によって報告された負荷/過負荷は無視されます。その場合、引き続きセッションカウント情報に基づく UP の選択が行われます。


過負荷状態の CP での Sx 確立要求スロットリング

UP が過負荷状態になると、CP は UP に向けて Sx 確立要求メッセージのスロットリングを開始します。その結果、過負荷の UP への新しいコール(低優先順位/非緊急)が回避されます。

スロットリングは、報告された OCI 値(過負荷削減メトリック値)に基づいて行われます。値は割合で計算され、当該 UP ピアに対する Sx 確立要求の必要な割合がランダムにドロップされます。結果として、切断理由「sx-no-resource」によって CP でコールがドロップされます。また、それぞれの統計が同じ数だけ増加します。


(注)  


eMPS(高優先順位)サブスクライバのセッションや緊急サブスクライバのセッションはスロットリングされません。


自己保護モードの UP での Sx 確立要求スロットリング

UP は自己保護状態になると、すべての新しいセッション(非 eMPS セッションのみ)、既存のセッションの Sx 確立要求、および Sx 変更要求(非 eMPS セッションのみ)を拒否し始めます。

自己保護モードの UP からのセッション終了トリガー

自己保護モードでは、UP の負荷状態が改善されない場合、UP が自己保護状態にあることを示す Sx レポート要求メッセージを介して、CP に対して段階的なセッション終了要求のトリガーを開始します。これに基づいて、CP は該当するセッションの Sx 終了要求の発出を開始します。

Self Protection Termination Request (SPTER):このビットは、自己保護に基づく終了を開始するために、UP から CP に対して設定されます。CP は、「graceful-term-up-self-protectn」という切断理由でコールを解放します。


(注)  


[Actual Load] 値が [Session-Termination-Start-Threshold] 値より大きくなると、CP に対してセッション終了がトリガーされます。


制限事項

この機能には、次の既知の制限事項があります。

  • UP でサポートされている負荷/過負荷プロファイルの最大数は 8 です。

  • 負荷/過負荷プロファイルが UP グループ内のすべての UP で設定されていない場合、セッションの分散が不均一になる可能性があります。単一の UP グループで負荷/過負荷サポートを使用してすべての UP を設定することを推奨します。

  • セッションリカバリ後、SessMgr インスタンスは SxDemux から負荷/過負荷値を再学習します。SxDemux では、負荷/過負荷の値が変更された場合にのみ、各値が伝達されます。

  • オンザフライでの負荷制御設定の切り替え(有効から無効、または無効から有効)はサポートされていません。

  • 1 つの UP グループ内の UP はすべて、有効または無効にする必要があります。CP の負荷/過負荷値が不適切な値になる可能性があるため、UP グループ内で 1 つの UP を有効にし、もう 1 つの UP を無効にすることはできません。

  • すべての IMS UP の負荷制御を無効にすることを推奨します。

負荷および過負荷サポートの設定

負荷および過負荷のサポートは、次を使用して設定します。

  • ユーザープレーン負荷制御プロファイルの設定

  • ユーザープレーン過負荷制御プロファイルの設定

  • ユーザープレーンサービスへの負荷プロファイルの関連付け

  • コントロールプレーンでの Sx プロトコルの設定

ユーザープレーン負荷制御プロファイルの設定

負荷制御プロファイルを設定するには、次のコマンドを使用します。

configure 
   userplane-load-control-profile profile_name 
   end 

ユーザープレーン負荷制御プロファイルのパラメータの設定

UP 負荷プロファイルのパラメータを設定するには、次の設定を使用します。

configure 
   userplane-load-control-profile profile_name 
      system-weightage system-cpu-utilization utilization_value system-memory-utilization utilization_value license-session-utilization utilization_value 
      sessmgr-weightage sessmgr-cpu-utilization utilization_value system-memory-utilization utilization_value 
      inclusion-frequency advertisement-interval interval_value change-factor changefactor_value 
      end 

  • inclusion-frequency :負荷制御情報 IE の包含頻度を決定するパラメータを設定します。

  • advertisement-interval :アドバタイズメント間隔は、負荷値がアドバタイズされる定期的な間隔です。負荷制御のアドバタイズメント間隔を設定します。デフォルト値は 300 です。該当するすべてのメッセージに LCI IE を含めるには、値を 0(ゼロ)に設定します。

  • change-factor :Change-factor は、負荷アドバタイズメントの発生に基づく負荷値の差分増減です。負荷制御の変更要因を設定します。デフォルト値は 5 です。

  • sessmgr-weightage :さまざまな負荷制御パラメータの sessmgr の重みを設定します。全パラメータの重みの合計は 100 である必要があります。デフォルトの比率は、sessmgr-cpu-utilization に対する重みが 65%、sessmgr-memory-utilization に対する重みが 35% です。

  • sessmgr-cpu-utilization :セッションマネージャの CPU 使用率の重みをパーセンテージで設定します。負荷率のデフォルトの重みは 35% です。

  • sessmgr-memory-utilization :セッションマネージャのメモリ使用率の重みを割合で設定します。負荷率のデフォルトの重みは 65% です。

  • system-weightage :さまざまな負荷制御パラメータに対するシステムの重みを設定します。全パラメータの重みの合計は 100 である必要があります。デフォルト値は、system-cpu-utilization に対する重みが 40%、system-memory-utilization に対する重みが 30%、license-session-utilization に対する重みが 30% です。

  • system-cpu-utilization :システムの CPU 使用率の重みをパーセンテージで設定します。負荷率のデフォルトの重みは 40% です。


    (注)  


    show cpu table CLI コマンドで表示される値は、5 分、10 分、および 15 分の平均値に基づいています。システム CPU 使用率の平均値の結果を使用して、使用率を手動で確認します。


  • system-memory-utilization :システムメモリ使用率の重みをパーセンテージで設定します。負荷率のデフォルトの重みは 30% です。


    (注)  


    show cpu table CLI コマンドで表示される値は、5 分、10 分、および 15 分の平均値に基づいています。システムメモリ使用率の平均値の結果を使用して、使用率を手動で確認します。


  • license-session-utilization :ユーザープレーンサービスのライセンスセッション使用率の重みを割合で設定します。負荷率のデフォルトの重みは 30% です。ライセンス使用率は、最大 UP セッションのうちの現在の UP セッションの使用率と同じです。

ユーザープレーン過負荷制御プロファイルの設定

過負荷制御プロファイルを設定するには、次のコマンドを使用します。

configure 
   userplane-overload-control-profile profile_name 
   end 

ユーザープレーン過負荷制御プロファイルのパラメータの設定

UP 過負荷プロファイルのパラメータを設定するには、次の設定を使用します。

configure 
   userplane-overload-control-profile profile_name 
      overload-threshold system lower-limit limit_value upper-limit limit_value sessmgr lower-limit limit_value upper-limit limit_value vpp-cpu lower-limit limit_value upper-limit limit_value 
      system-weightage system-cpu-utilization utilization_value system-memory-utilization utilization_value license-session-utilization utilization_value 
      sessmgr-weightage sessmgr-cpu-utilization utilization_value system-memory-utilization utilization_value 
      inclusion-frequency advertisement-interval interval_value change-factor changefactor_value 
      tolerance tolerance_value 
      validity-period validity_period 
      end 

  • inclusion-frequency :過負荷制御情報 IE の包含頻度を決定するパラメータを設定します。

  • advertisement-interval :アドバタイズメント間隔は、過負荷値がアドバタイズされる定期的な間隔です。過負荷制御のアドバタイズメント間隔を設定します。デフォルト値は 300 です。該当するすべてのメッセージに LCI IE を含めるには、値を 0(ゼロ)に設定します。

  • change-factor :Change-factor は、過負荷アドバタイズメントの発生に基づく過負荷値の差分増減です。過負荷制御の変動係数を設定します。デフォルト値は 5 です。

  • tolerance :過負荷の許容限度を設定します。

  • validity-period :過負荷制御情報の妥当性を設定します。デフォルト値は 600 です。

  • overload-threshold :システム、セッションマネージャ、および VPP CPU の過負荷しきい値制限を設定します。

  • system :ノードが自己保護モードに移行するまでの過負荷システムしきい値を設定します。

  • vpp-cpu :ノードが自己保護モードに移行するまでの過負荷 vpp-cpu しきい値を設定します。

  • sessmgr :ノードが自己保護モードに移行するまでのセッションマネージャの過負荷しきい値を設定します。

  • upper-limit limit_value :さまざまな上限値を設定します。次に示すとおり、さまざまな上限値があります。

    • システムしきい値の上限:ノードが自己保護モードに移行するまでのシステムの過負荷しきい値を設定します。デフォルトの制限値は 80% です。

    • セッションマネージャしきい値の上限:ノードが自己保護モードに移行するまでのセッションマネージャの過負荷しきい値を設定します。デフォルトの制限値は 60% です。

    • VPP CPU.しきい値の上限:ノードが自己保護モードに移行するまでの VPP CPU 過負荷しきい値 L2 を設定します。デフォルトの制限値は 60% です。

  • lower-limit limit_value :さまざまな下限値を設定します。次に示すとおり、さまざまな下限値があります。

    • システムしきい値の下限:ノードが自己保護モードに移行するまでのシステムの過負荷しきい値を設定します。デフォルトの制限値は 60% です。

    • セッションマネージャしきい値の下限:ノードが自己保護モードに移行するまでのセッションマネージャの過負荷しきい値を設定します。デフォルトの制限値は 50% です。

    • VPP CPU.しきい値の下限:ノードが自己保護モードに移行するまでの VPP CPU 過負荷しきい値 L1 を設定します。デフォルトの制限値は 50% です。

  • sessmgr-weightage :さまざまな負荷制御パラメータに対するセッションマネージャの重みを設定します。全パラメータの重みの合計は 100 である必要があります。デフォルトの比率は、sessmgr-cpu-utilization に対する重みが 65%、sessmgr-memory-utilization に対する重みが 35% です。

  • sessmgr-cpu-utilization :セッションマネージャの CPU 使用率の重みをパーセンテージで設定します。過負荷係数のデフォルトの重みは 35% です。

  • sessmgr-memory-utilization :セッションマネージャのメモリ使用率の重みをパーセンテージで設定します。過負荷係数のデフォルトの重みは 65% です。

  • system-weightage :さまざまな過負荷制御パラメータのシステムの重みを設定します。全パラメータの重みの合計は 100 である必要があります。デフォルト値は、system-cpu-utilization に対する重みが 40%、system-memory-utilization に対する重みが 30%、license-session-utilization に対する重みが 30% です。

  • system-cpu-utilization :システムの CPU 使用率の重みをパーセンテージで設定します。過負荷係数のデフォルトの重みは 40% です。


    (注)  


    show cpu table CLI コマンドで表示される値は、5 分、10 分、および 15 分の平均値に基づいています。システム CPU 使用率の平均値の結果を使用して、使用率を手動で確認します。


  • system-memory-utilization :システムメモリ使用率の重みをパーセンテージで設定します。過負荷係数のデフォルトの重みは 30% です。


    (注)  


    show cpu table CLI コマンドで表示される値は、5 分、10 分、および 15 分の平均値に基づいています。システムメモリ使用率の平均値の結果を使用して、使用率を手動で確認します。


  • license-session-utilization :ユーザープレーンサービスのライセンスセッション使用率の重みを割合で設定します。過負荷係数のデフォルトの重みは 30% です。ライセンス使用率は、最大 UP セッションのうちの現在の UP セッションの使用率と同じです。

負荷制御プロファイルとユーザープレーンサービスの関連付け

次のコマンドを使用して、過負荷制御プロファイルをユーザープレーンサービスに関連付けます。

configure 
   context context_name 
      user-plane-service service_name 
      [ no ] associate userplane-load-control-profile profile_name 

  • associate :このコマンドは、ユーザープレーン過負荷制御プロファイルをユーザープレーンサービスに関連付けます。

コントロールプレーンでの Sx プロトコルの設定

CP Function Features IE は、CP でサポートされている機能を示します。この IE によって通知されるのは、(システム全体の)UP 機能の動作に影響を与える機能のみです。

CP では次の機能がサポートされます。

  • LOAD(負荷制御)

  • OVRL(過負荷制御)

Sx プロトコルを介して CP でサポートされる機能を設定するには、次の設定を使用します。

configure 
   context context_name 
      sx-service service_name 
         sx-protocol supported-features { load-control | overload-control } 
         no sx-protocol supported-features [ load-control | overload-control ] 
         end 

  • supported-features :CP によりサポートされる Sx インターフェイスの機能を設定します。デフォルト値は [無効(Disabled)] です。

  • load-control :CP 機能による負荷制御機能のサポートを有効または無効にします。

  • overload-control :CP 機能による過負荷制御機能を有効または無効にします。

モニタリングおよびトラブルシューティング

show コマンドの入力と出力

この項では、この機能のサポートにおける show コマンドおよびコマンドの出力について説明します。

show userplane-load-control-profile name name

この機能をサポートするために、次のフィールドが表示されます。

  • ユーザープレーン負荷制御プロファイル

  • ユーザープレーン負荷制御プロファイル名

  • システムの重みとしきい値:

    • CPU Utilization Weightage

    • Memory Utilization Weightage

    • License Session Utilization Weightage

    • System Threshold Lower Limit

    • System Threshold Upper Limit

  • Sessmgr の重みとしきい値:

    • CPU Utilization Weightage

    • Memory Utilization Weightage

    • Sessmgr Threshold Lower Limit

    • Sessmgr Threshold Upper Limit

  • VPP の重みとしきい値:

    • VPP Utilization Weightage

    • vpp-cpu Threshold Lower Limit

    • vpp-cpu Threshold Upper Limit

  • 包含頻度:

    • 変更要因

    • アドバタイズメント間隔

show userplane-overload-control-profile name name

この機能をサポートするために、次のフィールドが表示されます。

  • ユーザープレーン過負荷制御プロファイル

  • ユーザープレーン過負荷制御プロファイル名

  • システムの重みとしきい値:

    • CPU Utilization Weightage

    • Memory Utilization Weightage

    • License Session Utilization Weightage

    • System Threshold Lower Limit

    • System Threshold Upper Limit

  • Sessmgr の重みとしきい値:

    • CPU Utilization Weightage

    • Memory Utilization Weightage

    • Sessmgr Threshold Lower Limit

    • Sessmgr Threshold Upper Limit

  • VPP の重みとしきい値:

    • VPP Utilization Weightage

    • vpp-cpu Threshold Lower Limit

    • vpp-cpu Threshold Upper Limit

  • 包含頻度

    • 変更要因

    • アドバタイズメント間隔

  • 有効期間

show user-plane-service statistics all

この機能をサポートするために、次のフィールドが表示されます。

  • 過負荷統計情報

    • 現在の状態:正常

    • ユーザープレーンで自己保護状態に達した回数:0

    • 自己保護モード中に拒否されたセッション確立要求の数:0

    • 自己保護モード中に拒否されたセッション変更要求の数:0

    • 自己保護モード中に許可された eMPS セッション確立要求の数:0

    • 自己保護モード中に許可された eMPS セッション変更要求の数:0

    • 過負荷削減メトリック:0

    • 現在の過負荷率(system):0

    • 現在の過負荷率(sessmgr):0

    • 現在の過負荷率(vpp cpu):0

  • 過負荷データの統計情報:

    • 過負荷が原因でドロップされたパケットの総数:0

    • 過負荷が原因でドロップされたバイトの総数:0

    • 自己保護モードでドロップされたパケットの総数:0

    • 自己保護モードでドロップされたバイトの総数:0

  • 負荷統計情報:

    • 負荷メトリック:0

    • 現在の負荷率(system):0

    • 現在の負荷率(sessmgr):0

    • 現在の負荷率(vpp cpu):0

  • eMPS PDN の合計

    • アクティブ

    • 設定

    • リリース日

    • 拒否された日

show sx service statistics all

この機能をサポートするために、次のフィールドが表示されます。

  • スロットル

バルク統計

Sx 機能でサポートされる負荷および過負荷をサポートする、次のバルク統計を使用できます。

表 1. サポートされるバルク統計

バルク統計情報

説明

num-self-protection-reached

UP が自己保護状態に達した時間の合計。

num-session-estab-rejected-on-self-protection

自己保護モード中に拒否されたセッション確立要求の合計数。

num-session-modif-rejected-on-self-protection

自己保護モード中に拒否されたセッション変更要求の合計数。

num-emps-session-estab-allowed-on-self-protection

自己保護モード中に許可された eMPS セッション確立要求の合計数。

num-emps-session-modif-allowed-on-self-protection

自己保護モード中に許可された eMPS セッション変更要求の合計数。

overload-reduction-metric

過負荷低減メトリックは、設定された過負荷条件の下限と上限に基づいて計算されます。

overload-factor-system

システムの過負荷係数は、システム CPU、メモリ、VPP CPU、およびリソースマネージャ(RM)からポーリングされたその他の情報に基づいて計算されます。

overload-factor-session

UP は、自己保護モード中に新しいセッションとデータスロットリングの拒否を開始します。

overload-factor-vpp-cpu

過負荷時のコアあたりの VPP CPU 合計値の平均。

load-metric

現在の負荷メトリックの合計値。

load-factor-system

現在のシステム負荷係数の合計値。

load-factor-session

現在のセッション負荷係数の合計値。

load-factor-vpp-cpu

現在の VPP CPU 負荷係数の合計値。

num-packets-dropped-on-overload

過負荷時に破棄されたパケットの総数。

num-bytes-dropped-on-overload

自己保護モード中にドロップされたバイト数の合計。

num-packets-dropped-on-self-protection

自己保護モード中にドロップされたパケット数の合計。

num-bytes-dropped-on-self-protection

自己保護モード中にドロップされたバイト数の合計。

SNMP トラップ

この機能をサポートするために、次の SNMP トラップが追加されました。

  • UPlaneSelfOverload:システムが自己保護モードに切り替わったとき。

  • UPlaneSelfOverloadClear:システムの自己保護モードが解除されたとき。