はじめに
Nutanixに移行する際に気になるのはパフォーマンスがどれほど出るか、これに尽きると思います。
この記事でナレッジを整理しておきます。
お断り
あくまでも一個人の意見となります。パフォーマンスに関する設定を変更する場合は、必ず検証を行い、各個人・組織で評価を行ってください。
CPU
CPUの性能次第でCVMを含む全てのVMのパフォーマンスに影響を与えます。
一般的には周波数が高いものを選ぶのが好ましいです。
しかし、CPUのコア数が増えるとともに周波数の上限が低くなる傾向があり、難しい場合があります。
また、CPUのコア数が増える事は、基本的にはライセンス費用の増加にもつながります。最も基本となるNCI及びPrism Centralを使用する場合に必須なNCMはCPUコア数単位の課金です。
そのため、費用及び性能面を考慮してCPUを選定するべきでしょう。
NutanixのSizerでは以下のサイトの情報を元にCPUの性能差を補完しています。
CPUのコア数は後述するCVMのvCPU数の上限値となるため、この点についても考慮が必要となります。
ディスクタイプ
シビアな性能を求められる場合はNVMeを使用するのが好ましいです。
しかし、一般的なSSDと比較して費用も高いため、コストパフォーマンスを踏まえながら検討する必要があります。ディスク単体のIO上限値は各ベンダーから提供されているので、現在のワークロードに基づいて選定すると良いでしょう。
ただし、Disaster Recovery機能を用いる場合は、ノードのディスク容量に関する制限があるため注意が必要です。詳しくはドキュメントをご確認ください。
Nutanix Communityに、NVMeとSSDにおけるI/O量の比較を解説した記事があったと思いますが、見当たりませんでした。見つけたら更新いたします。
ディスク本数
最大12本のディスクに対してランダム書き込み用のバッファ(OpLog)を作成します。本数が少ない場合と比較すると、本数が多い方がランダムWriteのパフォーマンスは高くなると思われます。

ノード数
各ノードにストレージコントローラーの役割を持つCVMが1台存在するため、ノード数が多ければ多いほど、各CVMによるI/O処理が可能となるため、クラスター全体のパフォーマンスは上昇します。

※コミュニティもしくはネットワールド様の記事でノード数の増加とIOPSの上限値が正の半比例の関係であることを示したものがあったのですが、見当たりませんでした。
NICカード
NICカードの帯域は意外と気を付けるべきです。最低ラインは10GBですが、ヘビーなワークロードの場合はおそらく足りません。特にデータベースを酷使するアプリケーションがある場合は注意が必要です。
NW経由でデータのR/Wが発生するHCIの特性上、NICの帯域は可能な限り太い方が好ましいです。NICの帯域がボトルネックとなり、パフォーマンスが出なくなる恐れがあるためです。
NICカードの費用差は10Gでも25Gでもほぼないと思われます。ただし、SFPモジュールの費用がそれなりにかかります。ToRのネットワーク機器でもSFPに対応したモデルを購入する必要があります。また、ネットワーク機器側でもSFPモジュールの費用が発生します。
SR-IOVに対応したNICカードも登場しており、NutanixでもSR-IOV向けの機能を提供しています(Prism CentralのNICプロファイルで機能提供されてます)

CVMのvCPU数
CVMが全てのI/Oを司るため、CVMのvCPU数は多ければ多いほどパフォーマンスが良くなります。
I/Oのワークロードは4種類(ランダムR/W、シーケンシャルR/W)ありますが、特にランダム書き込みに大きく影響します(個人の経験則に基づく)。

ALL-NVMeの場合はvCPUは16以上が推奨されています。
CVMのメモリサイズ
CVMのメモリサイズに従って、Unified Cacheと呼ばれるリードキャッシュのサイズが決まります。従って、メモリサイズが増えるほど、キャッシュにヒットする確率は増えるので、Read処理の向上が期待できます。

ToRのスイッチのパケット転送方式
3ノード以上で1つのクラスターを使用する環境では、ToRはデータセンター用の機器を使用しましょう。転送方式が通常の機器とDC用では異なります。DC用のパケット転送方式は低遅延を実現します。

BIOS
性能を重視するならば、消費電力を無視する設定をするべきです。
C-stateなど、少しでも電力消費を抑える設定が有効化されているならば、すべて無効化しましょう。

詳しくない方は、BIOSの設定項目を全て確認してみると良いでしょう。設定項目数の多さに狼狽えますが、勉強になります。
熱管理
データセンターでラックを借りて設置することがユースケースとしてほとんどのため、気にしなくても良いとは思います。
ただし、サーバの排熱に関する設定はデフォルトでは最大ではありません。
熱処理が上手くできていないとCPUの性能に悪影響を与えるため、ファンの音と消費電力が気にならない限りは最大冷却となるようにするのがよいでしょう。

Volume Groupの使用
主にゲストVMがVolume Groupを多用する場合、NW経由で他のクラスターからデータの読み込みを行う確率が高くなるため、どうしてもローカルReadと比較するとNW由来の遅延が発生します。
データベースを使用する場合はベストプラクティスにもVolume Groupを使用すると書いてはありますが、ワークロード、ディスクサイズなど考慮して事前に検証・評価を行うのがよいでしょう。
virtio-net Multi-Queue
ゲストVMのvNICでネットワークトラフィックを処理する際に使用するvCPU数を変更することが可能です。

ハードウェア購入後~サービス提供までの間にやっておくべきこと
費用、スケジュールの面で難しいかもしれませんが、可能であればX-RAYと呼ばれる、Nutanix純正のパフォーマンスツール(VMとして提供)を用いてこれらの変数を考慮したパフォーマンスの差異を綿密に測定・収集・整理しておくべきです。

コメント