サマリ
サーバにESXi 7.0をインストールし、その上にAlmaLinux9.1の仮想マシンを構築し、sysbenchを使ってハイパーバイザ仮想化による性能低下を検証しました。CPU・メモリとも性能低下はごく僅かでした。
背景
ベアメタルと仮想化のメリット・デメリットとして、CPU/メモリ/ストレージ等へのパフォーマンス影響が挙げられます。一般的に、ハイパーバイザによる仮想化の場合はベアメタル・コンテナ型仮想化と比較して、パフォーマンスが低くなります。
しかし、実際にどの程度低くなるのかを検証した記事は多くありません。以下の記事ではベンチマークを使って評価されていますが使用しているCPUに違いがあります。
確認方法
sysbenchを使ってCPU・メモリのスコアを評価し、前回の記事のスコアと比較します。ただしベンチマークの実行は各1回です。
構築した仮想マシンは以下のスペックです
- cpu/socket : 16
- 2socket
- MEM 64GiB
メモリも揃えたかったですが、全てのメモリ(256GiB)だとホストサーバのESXiと共有してしまうこと、Swap領域のストレージ容量が確保できずAlmaLinuxが起動できないことがあり、スペックダウンしました。スコアに多少影響があるかもしれません。
結果
CPU
threads | 仮想化 CPU speed | ベアメタル CPU speed | 仮想化/ベアメタル [%] |
---|---|---|---|
1 | 999.11 | 1020.73 | 97.9 |
2 | 2020.05 | 2022.73 | 99.9 |
4 | 3913.92 | 3949.42 | 99.2 |
8 | 7386.69 | 7395.63 | 99.9 |
16 | 14363.55 | 14556.50 | 98.7 |
32 | 21014.62 | 20776.00 | 101.1 |
メモリ
仮想化 MiB/sec | ベアメタル MiB/sec | 仮想化/ベアメタル [%] |
---|---|---|
5167.74 | 5258.61 | 98.3 |
詳細な結果
threads=1
sysbench cpu --cpu-max-prime=9999 run
CPU speed:
events per second: 999.11
General statistics:
total time: 10.0003s
total number of events: 9997
threads=2
sysbench cpu --cpu-max-prime=9999 --threads=2 run
CPU speed:
events per second: 2020.05
General statistics:
total time: 10.0011s
total number of events: 20213
threads=4
sysbench cpu --cpu-max-prime=9999 --threads=4 run
CPU speed:
events per second: 3913.92
General statistics:
total time: 10.0008s
total number of events: 39150
threads=8
sysbench cpu --cpu-max-prime=9999 --threads=8 run
CPU speed:
events per second: 7386.69
General statistics:
total time: 10.0010s
total number of events: 73889
threads=16
sysbench cpu --cpu-max-prime=9999 --threads=16 run
CPU speed:
events per second: 14363.55
General statistics:
total time: 10.0011s
total number of events: 143682
threads=32
sysbench cpu --cpu-max-prime=9999 --threads=32 run
CPU speed:
events per second: 21014.62
General statistics:
total time: 10.0015s
total number of events: 210219
メモリ
sysbench memory run
Total operations: 52928278 (5291760.94 per second)
51687.77 MiB transferred (5167.74 MiB/sec)
General statistics:
total time: 10.0002s
total number of events: 52928278
考察
勝手なイメージで、ハイパーバイザ型仮想化はベアメタルと比較して1割程度性能が下がると想像していました。実際に測定してみると、CPU・メモリについてはほぼ差が無いことが確認できました。
ディスクIOについて測定ができていないので、機会があればそちらも試してみたいです。