仮想ハードディスク、可変サイズと固定サイズの違いを、もう少しだけ比較

パソコン気づいたこと

VirtualBoxの仮想マシンで、仮想ハードディスクの可変サイズと固定サイズを、gnome-disk-utilityでベンチマークする準備が出来たので、比較していきます。

スポンサーリンク

gnome-disk-utilityでの比較

Lubuntu20.04LTS

前回の続きになりすが、可変サイズと固定サイズの仮想ハードディスクを2つとも接続して同じ名前でもUUIDで判別できることが分かったので、2つともストレージで追加しています。

まずは、可変サイズの仮想ハードディスクが接続されたLubuntu20.04LTSを起動し、「メニュー」→「アクセサリ」→「disks」を立ち上げます。

UUDIで可変サイズと固定サイズを判別

disks
仮想メディアマネージャー

disksが立ち上がると、左側にハードディスクが表示され、その内5.4 GB Hard Diskと表示された2つのディスクが追加した仮想ハードディスクになります。

ハードディスクを選択すると、「VB」から始まるSerial Numberが表示され、この仮想ハードディスクでは、「VBe2910c36-a6ble434」となっております。
次にVirtualBoxマネージャーから仮想メディアマネージャーを開き、可変サイズの仮想ハードディスクを選択し、プロパティを表示、情報のタブを見るとUUIDが表示されており、こちらは{e2910c36-a824-464b-9e0b-5ffa34e4b1a6}となっており、ハイライトした部分が一致しますので、こちらが可変ハードディスクとなります。

disksでベンチマーク

disks

ベンチマークしたいディスクを選択した状態で、右上赤枠のボタンを押します。
出てきたメニューからBenchmark Diskをクリックします。

Benchmark
Benchmark Settings

Benchmark画面が表示されるので、左下の「Start Benchmark」をクリックします。
次に表示される「benchmark Settings」は、特に変更せず「Start Benchmarking」をクリックするとベンチマークがスタートします。

ベンチマーク結果

可変サイズ結果
固定サイズ結果
可変サイズ項目固定サイズ
10.0 MiBSample Size10.0 MiB
4.0 GB/sAverage Read Rate457.8 MB/s
778.8 MB/sAverage Write Rate397.2 MB/s
0.06 msecAverage Access Time0.39 msec

と、以前の結果同様、読み込み/書き込み共に可変サイズの仮想ハードディスクの方がパフォーマンスが良い結果となりました。

ですが、ベンチマーク後に仮想メディアマネージャーを開くと

仮想メディアマネージャー

可変サイズの仮想ハードディスクの実際のサイズが2.00MBのままです!?
ベンチマークの設定では、10MBのサンプルサイズで読み込み/書き込みを行っているのに2.00 MBのままと言うことは、キャッシュが影響しているのでしょうか?

普通にファイルをコピーして速度を見てみる

どうも、可変サイズの場合、ベンチマークでは実際に読み込み/書き込みが行われて無いのではないかと疑問が出てきました。

なので、ここは普通に大きなサイズのダミーファイルを作成し、ディスクにコピーする速度を見てみます。

ここからの作業は、難しい事はしてませんが、手順として書くと面倒なので流れだけ記載します。

おおまかな手順

  1. ddコマンドで、1GBのテスト用ファイルを作成
  2. 仮想ハードディスクにパーティションを作成
  3. ext4でフォーマット
  4. 上記を可変サイズと固定サイズ両方で行う
  5. mntフォルダにsdbとsdcのフォルダを作成
  6. /mnt/sdbに可変サイズの仮想ハードディスクをマウント
  7. /mnt/sdcに固定サイズの仮想ハードディスクをマウント
  8. timeコマンド使ってテストファイルを各仮想ハードディスクにコピー
  9. また、その逆方向でのコピー

ここまで作業を行った時点で、一度、仮想メディアマネージャーで可変サイズの実際のサイズを見ると18.00 MBとなっておりました。

速度の比較結果

cpコマンドを使用して、/homeから仮想ハードディスクに1GBのファイルをコピー

可変サイズ固定サイズ
realusersys回数realusersys
2.340.010.991200.95
2.410122.5401.02
2.460.011.0432.6301.06
2.400.011.01平均2.3901.01

cpコマンドを使用して、仮想ハードディスクから1GBのファイルを/homeへコピー

可変サイズ固定サイズ
realusersys回数realusersys
1.590.011.1413.5901.02
1.6801.2223.5901.07
1.5601.1333.3701.04
1.610.001.16平均3.5201.04

この方法での測定では、書き込みはほぼ同じですが、しかし、読み込みはやはり、可変サイズの方が速い結果となりました。

この比較後、気になる仮想ハードディスクサイズを見てみると、可変サイズは19MBと1MBしか容量が増えていません。

ddで作成したダミーファイルでは、ベンチマークには使えないのでしょうか?

/usr/libのディレクトリごとコピーしてみる

もう、よくわからないので、ddで作成したファイルではなく、ローテクですが実際の/usr/libのディレクトリ3.2GB/34,004ファイルを仮想ハードディスクにコピーして比較してみたところ、なんと、書き込みで固定サイズの方が速い結果となりました!

/usr/libをディレクトリごと、仮想ハードディスクへコピー

可変サイズ項目固定サイズ
43.82real30.19
0.28user0.14
11.79sys4.17

仮想ハードディスクから、~/libへコピー

可変サイズ項目固定サイズ
31.66real30.37
0.1user0.14
4.29sys4.27

そして、仮想メディアマネージャーで可変サイズの実際のファイルサイズを見ると約4.36GBと肥大してます。

まとめ

無い知識で可変サイズと固定サイズの違いを比較してみましたが、disksのベンチマークやddコマンドを使った書き込みでは、測定できるものの可変サイズの実際のサイズが変わらず、比較データは出ても実際の使用時のパフォーマンスと違う可能性があります。

最後に大量のファイルをコピーした場合、可変サイズの仮想ハードディスクは、実際のサイズも肥大し速度が落ちる結果となりました。

ですが、一度肥大した可変サイズの仮想ハードディスクで、もう一度同じ作業をした場合、今度は固定サイズと大差無い結果となり、可変サイズの仮想ハードディスクでは、ファイルを書き込む際に、新規にサイズを確保する場合、速度の低下が発生するのだと思います。

また、一度肥大した可変サイズの仮想ハードディスクは、ファイルを削除してもサイズは小さくなりません。

これにて、おしまい。

コメント

タイトルとURLをコピーしました