パブリッククラウド上のNetScaler VPX 同時マルチスレッドを構成する
NetScalerは、管理とデータプレーン機能にさまざまな専用コアを使用します。 通常、1 つのコアが管理プレーン機能に割り当てられます。 使用可能な残りのコアはデータプレーン機能に割り当てられます。
以下の画像は、4コアのNetScaler VPXを簡略化した図を示しています。
図1:インライン展開 図1:4コアシステムでのNetScaler管理とデータプレーンワークロード
上の図は、使用可能なコア全体にわたるNetScaler機能の分布を示していますが、基盤となるハードウェアを必ずしも正確に表しているわけではありません。 最新のx86 CPUのほとんどは、Intel ハイパースレッディング(HT)またはAMD同時マルチスレッディング(SMT)として商業的に知られている機能により、物理コアあたり2つの論理コアを備えています。
次の画像は、SMTが無効になっている最新のCPU上で実行されているNetScaler VPXを示しています。 各 CPU コアは、一般にスレッドと呼ばれる 2 つ以上の論理 CPU に分割されます。 各スレッドには、それぞれ独自の複製リソースセットとパーティション化されたリソースの一部があり、兄弟スレッドと共有リソースをめぐって競合します。
図2: 図2:SMTを無効にした4コア/8スレッドシステムでのNetScaler管理とデータプレーンワークロード
次の画像は、SMTが有効になっている最新のCPU上で実行されているNetScaler VPXを示しています。
図 5. 図3:SMTが有効になっている4コアシステムでの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 機能を有効にするには、次の手順に従います:
- 「/nsconfig」ディレクトリの下に名前
.smt_handling
の空のファイルを作成します。 - 現在の設定を保存します。
-
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-->
-
再起動後、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 機能を無効にするには、次の手順に従います:
-
.smt_handling
ファイルを削除します。 -
NetScaler VPX インスタンスを再起動します。
shell rm -f /nsconfig/.smt_handling Done reboot Are you sure you want to restart NetScaler (Y/N)? [N]:Y Done <!--NeedCopy-->
-
再起動後、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-->