NetScaler VPX

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

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

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

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

SMT 機能を使用しないNetScaler

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

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

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

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

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

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