NetScaler VPX 14.1

パブリッククラウド上のNetScaler VPXで同時マルチスレッディングを設定する

NetScaler® は、管理機能とデータプレーン機能にそれぞれ異なる専用コアを使用します。通常、1つのコアが管理プレーン機能に割り当てられます。残りの利用可能なコアはデータプレーン機能に割り当てられます。

次の図は、4コアのNetScaler VPXの簡略化された図を示しています。

図1. 4コアシステムにおけるNetScalerの管理およびデータプレーンのワークロード

SMT機能が有効化されていないNetScaler(/ja-jp/vpx/media/ns-4core-without-smt.png)

前の図は、利用可能なコア全体でのNetScaler機能の分散を示していますが、それは必ずしも基盤となるハードウェアを正確に描写したものではありません。ほとんどの最新のx86 CPUは、Intel Hyperthreading (HT) またはAMD simultaneous multithreading (SMT) として商業的に知られている機能を通じて、物理コアごとに2つの論理コアを提供します。

次の図は、SMTが無効になっている最新のCPUで実行されているNetScaler VPXを示しています。各CPUコアは、一般にスレッドと呼ばれる2つ以上の論理CPUに分割されます。各スレッドは、独自の複製されたリソースセット、分割されたリソースの一部を持ち、兄弟スレッドと共有リソースを競合します。

図2. SMTが無効な4コア/8スレッドシステムにおけるNetScalerの管理およびデータプレーンのワークロード

SMT機能が無効になっているNetScaler(/ja-jp/vpx/media/ns-4core-with-smt-disabled.png)

次の図は、SMTが有効になっている最新のCPUで実行されているNetScaler VPXを示しています。

図3. SMTが有効な4コアシステムにおけるNetScalerの管理およびデータプレーンのワークロード

SMT機能が有効なネットスケーラー

SMTを有効にすると、NetScalerのパフォーマンスが次のように向上します。

  • すべての物理コアでデータプレーン機能を実行します。
  • 管理プレーン機能を兄弟スレッドに移動します。
  • 管理プレーン機能がデータプレーン機能のパフォーマンスを損なうのを防ぐための、柔軟なリソース制限メカニズムを導入。

SMTサポートマトリックス

SMTをサポートするVPXプラットフォーム、クラウドインスタンスタイプ、およびNetScalerのバージョンを次の表に示します。

VPXプラットフォーム インスタンスタイプ ネットスケーラー VPX バージョン
AWS M5, m5n, c5, c5n 14.1-12.x以降
アジュール ハイパースレッディングを搭載した任意のインスタンスファミリー(例:Ds_v4) 14.1-12.x以降
GCP e2インスタンス 14.1-12.x以降

注:

SMT機能を有効にすると、サポートされているタイプでNetScaler VPXのパフォーマンスが向上します。

制限事項

SMT機能は、NetScalerアプライアンスで利用可能なvCPUを実質的に2倍にします。NetScalerアプライアンスがそれらを使用できるようにするには、ライセンスの制限を考慮する必要があります。

例えば、図3に示すNetScaler VPXを検討してください。スループットベースのライセンスが使用されている場合、SMT機能で8つのvCPUを有効にするには、10 Gbps以上のライセンスが必要です。以前は、4つのvCPUを有効にするには1 Gbpsのライセンスで十分でした。vCPUライセンスが使用されている場合、NetScaler VPXは、適切な動作のためにvCPU数の2倍のライセンスをチェックアウトするように構成する必要があります。このトピックに関する詳細なガイダンスについては、NetScalerテクニカルサポートにお問い合わせください。

SMTの構成

SMT機能を有効にする前に、お使いのプラットフォームがこの機能をサポートしていることを確認してください。前のセクションのサポートマトリックス表を参照してください。

SMT機能を有効にするには、次の手順に従ってください。

  1. 「/nsconfig」ディレクトリの下に、.smt_handlingという名前の空のファイルを作成します。
  2. 現在の構成を保存します。
  3. NetScaler VPXインスタンスを再起動します。

    nscli> shell touch /nsconfig/.smt_handling
      Done
    nscli> reboot
    Are you sure you want to restart NetScaler (Y/N)? [N]:Y
    Done
    <!--NeedCopy-->
    
  4. 再起動後、NetScalerは、この機能が利用可能であり、かつ有効になっていることを示します。

    smt_handling and smt_handling_active are set to “1”
    
    > shell sysctl -a | grep smt_handling
    netscaler.smt_handling_platform: 1
    netscaler.smt_handling: 1
    netscaler.smt_handling_active: 1
    <!--NeedCopy-->
    

SMT機能を無効にするには、次の手順に従ってください。

  1. .smt_handlingファイルを削除します。
  2. NetScaler VPXインスタンスを再起動します。

    shell rm -f /nsconfig/.smt_handling
      Done
    
    reboot
    
    Are you sure you want to restart NetScaler (Y/N)? [N]:Y
    Done
    <!--NeedCopy-->
    
  3. 再起動後、NetScaler はその機能が利用可能だが無効になっていることを示します。

    > shell sysctl -a | grep smt_handling
    netscaler.smt_handling_platform: 1
    netscaler.smt_handling: 0
    netscaler.smt_handling_active: 0
    <!--NeedCopy-->
    

トラブルシューティング

SMT 機能のステータスを確認するには、sysctl シェルコマンドを実行します。

```
> shell sysctl -a | grep smt_handling
>
<!--NeedCopy--> ```

このコマンドは、以下のいずれかの出力を返すことがあります。

  • SMT 機能が見つかりません。

    sysctl コマンドは出力を返しません。

  • SMT 機能はサポートされていません。

    SMT 機能は、以下のいずれかの理由によりサポートされていません。

    • お使いの NetScaler VPX のバージョンが 13.1-48.x または 14.1-12.x より古い。
    • お使いのクラウドは SMT をサポートしていません。
    • お使いの VM インスタンスタイプは SMT をサポートしていません。たとえば、vCPU 数が 8 を超えている場合などです。

       > shell sysctl -a | grep smt_handling
       netscaler.smt_handling_platform: 0(indicates not supported)
       netscaler.smt_handling: 0 (indicates not enabled)
       netscaler.smt_handling_active: 0 (indicates not active)
       <!--NeedCopy-->
      
  • SMT 機能はサポートされていますが、有効になっていません。

       > shell sysctl -a | grep smt_handling
       netscaler.smt_handling_platform: 1 (available)
       netscaler.smt_handling: 0         (not enabled)
       netscaler.smt_handling_active: 0  (not active)
       <!--NeedCopy-->
    
パブリッククラウド上のNetScaler VPXで同時マルチスレッディングを設定する