Help us understand the problem. What is going on with this article?

VirtualBox他のベンチマークテスト

この記事は 鈴鹿高専 Advent Calendar 2019 にも登録しました。

なんで仮想マシン比べっこをしようと思ったのか

 ベンチ結果だけ見たい方は本題まで飛ばしてください。
 2019年度から私が在学する高専の実験室PCが Windows + Scientific Linux のデュアルブートから Windows in VirtualBox の仮想マシン運用に変更になりました。
 授業や実験で使用するためWindows+Unix
 技術職員の方に直接聞いたわけではないですが、VirtualBoxの選定理由としては

  • 無料
  • 学生個人のPC上にも環境を作成できる
  • 学生が間違えて環境を破壊しても学生自身で簡単に復元できる
  • メンテナンスが容易

こんな感じかなと思います。
 実際使ってみたところ、動作もスムーズで何の問題もありません。
 ただ、VirtualBoxはほかの仮想マシンに比べて遅いというのもよく聞きます。機械学習とかで顕著に差が出るかもしれません。
 そこで今回はUnixBenchでどれだけ遅いのか確認してみます。

対象仮想化環境

ここからが本題
以下6つの環境を比べっこしました。

  1. VirtualBox 6.0
  2. VMware Player 15.5.1
  3. WSL
  4. Docker for Windows 2.1.0.4
  5. Hyper-V
  6. 実機(参考)

きりがなくなるので環境ごとのチューニングは行っていません。デフォルトのままベンチマークをとります。

ベンチマーク条件

マシンはや条件は以下の通り

ホストOS Windows10 ver.1909 64bit
ゲストOS Ubuntu 18.04.3 Desktop版
CPU Intel Core i5-4300U
RAM 8GB (Dual Channel)
ディスク mSATA SSD

ただしWSLに関してはMicrosoftStoreのイメージ、Dockerはdocker pull ubuntu:18.04で降ってきたイメージを使用しました。(当然Desktop版ではないです)

ベンチマークソフトはUnixBench 5.1を使いました。
時間短縮のために以下のベンチを1Coreで3回平均を計測しました。

  • Dhrystone(CPU性能依存)
  • Pipe Throughput(OS,CPU性能依存)
  • System Call Overhead(OS,CPU性能依存)
  • File Copy 256 bufsize(OS,ディスク性能依存)
  • File Copy 4096 bufsize(OS,ディスク性能依存)

各ベンチの詳細は『UnixBenchでベンチマーク (IDCFテックブログ) 』がわかりやすいです。

ベンチマーク結果

演算速度と読み書き速度で分けます

演算速度

1秒間に何回処理できたか [ Instructions Per Second ]

CPU, OS [ More is Better ].png

Dhrystone Pipe Overhead
Virtualbox 4184191.2 472103.4 590836.4
Vmware 33836598.5 1034379.2 763780.3
WSL 34550185.7 266246.9 285900.8
Docker 29144076.9 909239.1 589965.1
Hyper-v 34252477.3 1019804.3 774552.3
実機(参考) 34644970.6 1088138.4 796282.7

読み書き速度

単位はMbps

File Copy (R_W) [ More is Better ].png

File Copy 256 File Copy 4096
Virtualbox 71750 970279
Vmware 193158 1782309
WSL 27106 331243
Docker 150723 1553828
Hyper-v 191226 1897577
実機(参考) 195891 2039428

考察&結論

VirtualBoxは遅いけど手軽。Dhrystonegaが極端に低いのはチューニングすれば改善するらしい
Vmwareは速い。さすが仮想化市場トップランナー
WSLはI/Oが残念。WSL2に期待
Docker for Windows は普通。不具合が多い気がする
Hyper-Vも速い。さすがハイパーバイザー型

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした