パブリッククラウド上の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機能が有効になっているNetScaler (/ja-jp/vpx/media/ns-4core-with-smt-enabled.png)
SMTを有効にすると、NetScalerのパフォーマンスは次の方法で向上します。
- すべての物理コアでデータプレーン機能を実行する。
- 管理プレーン機能を兄弟スレッドに移動する。
- 柔軟なリソース制限メカニズムを導入し、管理プレーン機能がデータプレーン機能のパフォーマンスを損なうのを防ぎます。
SMTサポートマトリックス
SMTをサポートするVPXプラットフォーム、クラウドインスタンスタイプ、およびNetScalerのバージョンを次の表に示します。
| VPXプラットフォーム | インスタンスタイプ | ネットスケーラー VPX バージョン |
|---|---|---|
| AWS | M5, m5n, c5, c5n | 13.1-48.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機能を有効にするには、次の手順に従ってください。
- 「/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 is set to “1” > shell sysctl -a | grep smt_handling netscaler.smt_handling_platform: 1 netscaler.smt_handling: 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 <!--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) <!--NeedCopy-->
-
SMT機能はサポートされていますが、有効になっていません。
> shell sysctl -a | grep smt_handling netscaler.smt_handling_platform: 1 (available) netscaler.smt_handling: 0 (not enabled) <!--NeedCopy-->