ADC

パブリッククラウド上のNetScaler VPX 同時マルチスレッドを構成する

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

以下の画像は、4コアのNetScaler VPXを簡略化した図を示しています。

図1:4コアシステムでのNetScaler管理とデータプレーンワークロード

SMT 機能を使用しないNetScaler

上の図は、使用可能なコア全体にわたるNetScaler機能の分布を示していますが、基盤となるハードウェアを必ずしも正確に表しているわけではありません。最新のx86 CPUのほとんどは、Intel ハイパースレッディング(HT)またはAMD同時マルチスレッディング(SMT)として商業的に知られている機能により、物理コアあたり2つの論理コアを備えています。

次の画像は、SMTが無効になっている最新のCPU上で実行されているNetScaler VPXを示しています。各 CPU コアは、一般にスレッドと呼ばれる 2 つ以上の論理 CPU に分割されます。各スレッドには、それぞれ独自の複製リソースセットとパーティション化されたリソースの一部があり、兄弟スレッドと共有リソースをめぐって競合します。

図2:SMTを無効にした4コア/8スレッドシステムでのNetScaler管理とデータプレーンワークロード

SMT 機能が無効になっているNetScaler

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

図3:SMTが有効になっている4コアシステムでのNetScaler管理とデータプレーンワークロード

SMT 機能が有効になっているNetScaler

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

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

SMT サポートマトリックス

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

VPX プラットフォーム インスタンスタイプ NetScaler VPXバージョン
AWS M5, m5n, c5, c5n 14.1-12.x およびそれ以降
Azure ハイパースレッディングを使用するすべてのインスタンスファミリー (DS_v4 など) 14.1-12.x およびそれ以降
GCP e2 インスタンス 14.1-12.x およびそれ以降

注:

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

制限事項

SMT機能により、NetScalerアプライアンスが利用できる仮想CPUの数が実質的に倍増します。NetScalerアプライアンスがライセンス制限を使用できるようにするには、ライセンス制限を考慮する必要があります。

たとえば、図3に示されているNetScaler VPXについて考えてみます。スループットベースのライセンスを使用する場合、8 個の vCPU を有効にするには、SMT 機能を備えた 10 Gbps 以上のライセンスが必要です。以前は、4 つの vCPU を有効にするには 1 Gbps のライセンスで十分でした。vCPUライセンスを使用する場合、正常に動作するためには、2倍の数のvCPUのライセンスをチェックアウトするようにNetScaler VPXを構成する必要があります。このトピックに関する詳細なガイダンスについては、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-->
    

トラブルシューティング

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

```
> 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 同時マルチスレッドを構成する