PMPの流儀

PMPの流儀

エンジニアのページ

MENU

VMware HDDコントローラ比較 (PVSCSI vs NVMe)。最速コントローラはどちら

VMware Workstation Player のHDDコントローラには多くの種類があります。PVSCSI, NVMe, LSI SAS, SATA, IDE と過去のデバイスから最新のデバイスまで多彩です。今まで漠然とSCSIのがいいとか、ホストがSSDなので、NVMeが速そうとか印象で決めていましたが、この際テストを行って白黒はっきりさせることにしました。

概要

VMware は古くはWindows2000に対応しており、当時はIDEが全盛期の時代です。その後HDDのデバイスも進化を遂げサポートするコントローラの種類も多くなっています。VMWareではHDDの実体は、ホストOSに配置される拡張子がvmdkのファイルです。仮想マシンIDEでも最新のNVMeでも同じvmdkファイルが使用されます。そのため、仮想マシンのHDDコントローラを容易に変更することができます。

どのアダプタを使用するのが一番いいのでしょうか。

今までは PVSCSI というVMware社が作成した仮想マシン専用のアダプタが最適と思っていましたが、NVMe が登場したことで迷いが生じました。別の記事でもWindows10 にはNVMeが最適と記載したのですが、根拠がありませんでした。

調査に入る前に、各アダプタについて触れておきます。

アダプタ名 説明
PVSCSI 純粋仮想アダプタ。VMware社が作成した仮想マシン専用ドライバ。不要な物理エミュレーションが不要な分性能の高さを期待できる
NVMe SSDに最適化された最新の規格。Windows10ではHDDのデフォルトアダプタであり、PVSCSIとの能力差が気になる
LSI SAS 物理デバイスである LSI SAS1068。Windows10でSCSI HDDを追加するとこのアダプタが使用される
SATA 今でもHDDで使用されるインターフェースです
IDE SATAの前の世代の規格。どこまで性能が悪いかを比較するためにあえて参加させました。

PVSCSIとNVMe の一騎打ちになるか

目指すHDDアダプタの定義

白黒はっきりさせるには、HDDコントローラに対する判定基準を決めておくことが必要です。以下のように定義します。
スループットが高く、CPU占有率が低い

処理能力がまず第1優先ですが、仮想マシンとホストを同時に利用することを考えると、CPU占有率が低いに越したことはありません。

調査方法

仮想マシンのHDDアダプタを5種類( PVSCSI, NVMe, LSI SAS, SATA, IDE)に切り替えて以下のベンチマークを実施します。

ベンチマークに以下の2個のツールを使用します。
CrystalDiskMark ver. 7.0.0h
・diskspd ver.2.0.21a

試験環境

ホストスペック。10年選手で非力ですが特に不満なく使えています。

項目 内容
CPU Core i5-430M (Core 2個 + SMT)
Mem 8G
HDDコントローラ SATA 300
SSD Samsung SSD 850Evo 250GB
OS Windows10 Pro x64 20H2
仮想化支援 VT-x SLAT
VMware VMware WorkStation Player 16.0.0

仮想マシンスペック

項目 内容
CPU 2個
MEM 3G
HDD ベンチマーク用に3GBの別ドライブを作成
OS Windows10 Pro x86 20H2

CrystalDiskMark

オプションなどの設定は全て初期値のままです。

シーケンシャルテスト

PVSCSIとNVMeがシーケンシャルリードで他に対して差を広げています。 f:id:ruruucky:20201031214454p:plain

ランダムテスト

ランダムテストでもPVSCSIとNVMeの性能は良いです。 f:id:ruruucky:20201031214604p:plain

diskspd

パラメータは以下の通り。

diskspd.exe -d60 -o4 -h -L -t4 -W -w20 -c512M E:\test.dat 

Throughput(スループット)

1秒間当たりの転送量です。 f:id:ruruucky:20201101010948p:plain

IOPS

1秒当たりのI/Oの処理数です。PVSCSIが1番です。 f:id:ruruucky:20201031215505p:plain

Latency(遅延時間)

PVSCSIはスループットが高いのでが遅延時間は1番低いですね。 f:id:ruruucky:20201031215526p:plain

CPU占有率

PVSCSIの占有率の低さに注目です。SATAの99%は酷いです。IDEはCPU占有率が低めですが、2つのコアを有効に使えていないようです。
f:id:ruruucky:20201031215444p:plain

結論

処理能力の高さ、CPU占有率の低さの両面で好成績を収めた PVSCSI が1番です。やはり、純粋仮想アダプターは強かった。
NVMeもいい線いっていましたがPVSCSIには一歩届かず。
SATAのCPU占有率99%には驚きました。昔のIDEドライブでDMA転送なしのPIO転送時代を彷彿させます。
IDEはやっぱり最下位でした。IDE, SATAの2つはできるだけ避けた方が良いです。

リンク

VMware最速のPVSCSIと、ハイパーバイザー型でHDDアクセスのスループットが高いとされるHyper-Vや、直接ライバルのVirtualBoxと比較してみました。
pmp-style.hatenablog.com