タイトルそのまんまですが、大量の小さいファイルをまとめてバックアップする時は、ZIPなどで圧縮した方が効率が良いですねえ。

サンプル

小さいファイル
▲私の宝物、Poserの3Dデータファイル。
ファイルの数は約10万、データ量は約26GB
こいつを外付けHDDにバックアップしてみます。

普通にバックアップした場合

普通にバックアップした場合
▲だいたい40~50分くらいかかります。

シーケンシャルWrite 100~120MB/s でる、USB3.0接続の外付けHDDに書き込んでいるのですが、書き込み速度は7~15MB/s程度しか出ません。
書き込みに45分ほどかかりました。

Zip圧縮してみる

Zip圧縮してみる
▲圧縮には7-Zipを利用。
約3分で圧縮終了。
ちなみに圧縮レベルは「高速」、メソッドは「Deflate」
CPUはCore i7 3930K(4.2GHz)、メモリは16GB。
ドライブにSSDを利用しているとは言え、160~170MB/sの速度で圧縮できています。

 

Zipファイルをバックアップ
Zip圧縮でバックアップした場合
▲3分ちょっとでバックアップ終了。

結果

普通にバックアップした場合・・・・・・約45分
Zip化してバックアップした場合・・・約6分

だいたい7~8倍の時間でバックアップ終了。

ちなみに(バックアップ元がHDDの場合)

上の例は、10万個の小さなファイルがSSDにあった場合です。
小さなファイルがHDDに保存されていた場合は、もう少し効率が悪くなります。

小さいファイル2
▲もう一つの宝物、Vueの3Dデータファイル。
ファイルの数は約2万、データ量は約9GB

普通にバックアップした場合・・・・約8分
Zip化してバックアップした場合・・・約4分
  ・Zip化にかかった時間・・・3分
  ・Zipをバックアップした時間・・・・1分

それでも、約2倍の速さでバックアップが出来るようです。

HDDの書き込み速度

crystaldiskmark
HDDは、大きな連続したファイルの書き込みはソコソコの速度が出ますが、小さくて不連続なファイルの読み書きは遅いですからねえ。

あとがき

「もしかして、一旦圧縮してまとめた方がバックアップ速くなるかな?」と思い実際に確認してみたのですが、(バックアップ元がSSDの場合は特に)小さいファイルをまとめる効果は大きそうですねえ。

ようやくまとまった時間が取れて、10月初旬にぶっ壊れたSSDのデータ復旧に着手できた。少し時間がかかったけど、整理しなおし&新しいバックアップ完了。これからは、もう少し小まめにバックアップを取って行こう。

でも・・・・あれ?
小まめにバックアップを取る場合、Zip化してると逆にメンテナンス性が悪いねえ(^_^;