VirtualBoxの仮想マシンで、仮想ハードディスクの可変サイズと固定サイズを、gnome-disk-utilityでベンチマークする準備が出来たので、比較していきます。
gnome-disk-utilityでの比較
前回の続きになりすが、可変サイズと固定サイズの仮想ハードディスクを2つとも接続して同じ名前でもUUIDで判別できることが分かったので、2つともストレージで追加しています。
まずは、可変サイズの仮想ハードディスクが接続されたLubuntu20.04LTSを起動し、「メニュー」→「アクセサリ」→「disks」を立ち上げます。
UUDIで可変サイズと固定サイズを判別
disksが立ち上がると、左側にハードディスクが表示され、その内5.4 GB Hard Diskと表示された2つのディスクが追加した仮想ハードディスクになります。
ハードディスクを選択すると、「VB」から始まるSerial Numberが表示され、この仮想ハードディスクでは、「VBe2910c36-a6ble434」となっております。
次にVirtualBoxマネージャーから仮想メディアマネージャーを開き、可変サイズの仮想ハードディスクを選択し、プロパティを表示、情報のタブを見るとUUIDが表示されており、こちらは{e2910c36-a824-464b-9e0b-5ffa34e4b1a6}となっており、ハイライトした部分が一致しますので、こちらが可変ハードディスクとなります。
disksでベンチマーク
ベンチマークしたいディスクを選択した状態で、右上赤枠のボタンを押します。
出てきたメニューからBenchmark Diskをクリックします。
Benchmark画面が表示されるので、左下の「Start Benchmark」をクリックします。
次に表示される「benchmark Settings」は、特に変更せず「Start Benchmarking」をクリックするとベンチマークがスタートします。
ベンチマーク結果
可変サイズ | 項目 | 固定サイズ |
---|---|---|
10.0 MiB | Sample Size | 10.0 MiB |
4.0 GB/s | Average Read Rate | 457.8 MB/s |
778.8 MB/s | Average Write Rate | 397.2 MB/s |
0.06 msec | Average Access Time | 0.39 msec |
と、以前の結果同様、読み込み/書き込み共に可変サイズの仮想ハードディスクの方がパフォーマンスが良い結果となりました。
ですが、ベンチマーク後に仮想メディアマネージャーを開くと
可変サイズの仮想ハードディスクの実際のサイズが2.00MBのままです!?
ベンチマークの設定では、10MBのサンプルサイズで読み込み/書き込みを行っているのに2.00 MBのままと言うことは、キャッシュが影響しているのでしょうか?
普通にファイルをコピーして速度を見てみる
どうも、可変サイズの場合、ベンチマークでは実際に読み込み/書き込みが行われて無いのではないかと疑問が出てきました。
なので、ここは普通に大きなサイズのダミーファイルを作成し、ディスクにコピーする速度を見てみます。
ここからの作業は、難しい事はしてませんが、手順として書くと面倒なので流れだけ記載します。
おおまかな手順
- ddコマンドで、1GBのテスト用ファイルを作成
- 仮想ハードディスクにパーティションを作成
- ext4でフォーマット
- 上記を可変サイズと固定サイズ両方で行う
- mntフォルダにsdbとsdcのフォルダを作成
- /mnt/sdbに可変サイズの仮想ハードディスクをマウント
- /mnt/sdcに固定サイズの仮想ハードディスクをマウント
- timeコマンド使ってテストファイルを各仮想ハードディスクにコピー
- また、その逆方向でのコピー
ここまで作業を行った時点で、一度、仮想メディアマネージャーで可変サイズの実際のサイズを見ると18.00 MBとなっておりました。
速度の比較結果
cpコマンドを使用して、/homeから仮想ハードディスクに1GBのファイルをコピー
可変サイズ | 固定サイズ | |||||
---|---|---|---|---|---|---|
real | user | sys | 回数 | real | user | sys |
2.34 | 0.01 | 0.99 | 1 | 2 | 0 | 0.95 |
2.41 | 0 | 1 | 2 | 2.54 | 0 | 1.02 |
2.46 | 0.01 | 1.04 | 3 | 2.63 | 0 | 1.06 |
2.40 | 0.01 | 1.01 | 平均 | 2.39 | 0 | 1.01 |
cpコマンドを使用して、仮想ハードディスクから1GBのファイルを/homeへコピー
可変サイズ | 固定サイズ | |||||
---|---|---|---|---|---|---|
real | user | sys | 回数 | real | user | sys |
1.59 | 0.01 | 1.14 | 1 | 3.59 | 0 | 1.02 |
1.68 | 0 | 1.22 | 2 | 3.59 | 0 | 1.07 |
1.56 | 0 | 1.13 | 3 | 3.37 | 0 | 1.04 |
1.61 | 0.00 | 1.16 | 平均 | 3.52 | 0 | 1.04 |
この方法での測定では、書き込みはほぼ同じですが、しかし、読み込みはやはり、可変サイズの方が速い結果となりました。
この比較後、気になる仮想ハードディスクサイズを見てみると、可変サイズは19MBと1MBしか容量が増えていません。
ddで作成したダミーファイルでは、ベンチマークには使えないのでしょうか?
/usr/libのディレクトリごとコピーしてみる
もう、よくわからないので、ddで作成したファイルではなく、ローテクですが実際の/usr/libのディレクトリ3.2GB/34,004ファイルを仮想ハードディスクにコピーして比較してみたところ、なんと、書き込みで固定サイズの方が速い結果となりました!
/usr/libをディレクトリごと、仮想ハードディスクへコピー
可変サイズ | 項目 | 固定サイズ |
---|---|---|
43.82 | real | 30.19 |
0.28 | user | 0.14 |
11.79 | sys | 4.17 |
仮想ハードディスクから、~/libへコピー
可変サイズ | 項目 | 固定サイズ |
---|---|---|
31.66 | real | 30.37 |
0.1 | user | 0.14 |
4.29 | sys | 4.27 |
そして、仮想メディアマネージャーで可変サイズの実際のファイルサイズを見ると約4.36GBと肥大してます。
まとめ
無い知識で可変サイズと固定サイズの違いを比較してみましたが、disksのベンチマークやddコマンドを使った書き込みでは、測定できるものの可変サイズの実際のサイズが変わらず、比較データは出ても実際の使用時のパフォーマンスと違う可能性があります。
最後に大量のファイルをコピーした場合、可変サイズの仮想ハードディスクは、実際のサイズも肥大し速度が落ちる結果となりました。
ですが、一度肥大した可変サイズの仮想ハードディスクで、もう一度同じ作業をした場合、今度は固定サイズと大差無い結果となり、可変サイズの仮想ハードディスクでは、ファイルを書き込む際に、新規にサイズを確保する場合、速度の低下が発生するのだと思います。
また、一度肥大した可変サイズの仮想ハードディスクは、ファイルを削除してもサイズは小さくなりません。
これにて、おしまい。
コメント