mksquashfsにかかる時間を測定

cron jobで運用しているので、数時間くらいかかろうが構わんが、とりあえず測定してみる。

# ハードディスク内に作成
$ time nice -19 mksquashfs /home test.squashfs -noappend
  786.23s user 73.60s system 53% cpu 26:34.43 total
$ ls -l test.squashfs
-rwx------ 1 root root 2408833024 2007-08-17 15:59 test.squashfs
# 3倍速DVD-RAM内に作成
$ nice -19 mksquashfs /home /dev/dvd -noappend
  1:54:46.00   # cron jobなのでtimeしていない。ログファイルの時刻より算出
# イメージをDVD-RAMに書き込む
$ time sudo nice -19 dd if=test.squashfs of=/dev/dvd
  4.87s user 39.56s system 0% cpu 1:48:11.74 total

2.4GBのsquashfsを作る実験。nice -19と優先度最低で測定。ハードディスク内にsquashfsを作ると30分弱。3倍速DVD-RAM内に作ると2時間弱。squashfsDVD-RAMに書き込むのにも2時間弱とほぼ同じなので、DVD-RAMの書き込みの遅さが響いている。

nice値を普通にしてみた。

$ time sudo dd if=test.squashfs of=/dev/dvd
  5.49s user 41.18s system 0% cpu 1:47:34.60 total

しかし書き込み時間に変わりはなかった。調べてみたところデフォルトのままだと割り込み大量発生のために遅くなるそうだ。

$ time sudo dd if=test.squashfs of=/dev/dvd ibs=512 obs=2048k
2408833024 bytes (2.4 GB) copied, 1343.73 seconds, 1.8 MB/s
  1.90s user 10.97s system 0% cpu 22:23.80 total

うおっ!22分だなんて早すぎ!!!

$ time sudo dd if=test.squashfs of=/dev/dvd ibs=512 obs=4096k    [/home]
2408833024 bytes (2.4 GB) copied, 1582.64 seconds, 1.5 MB/s
  1.63s user 10.44s system 0% cpu 26:25.36 total

$ time sudo dd if=test.squashfs of=/dev/dvd ibs=512 obs=1024k
2408833024 bytes (2.4 GB) copied, 1443.57 seconds, 1.7 MB/s
  1.99s user 11.36s system 0% cpu 24:06.85 total

obs=4096kだと26分、obs=1024kだと24分…ということはobs=2048kがベストのようだ。まさかノロDVD-RAMごときが1.8MB/sも出るとは思わんかった。3倍速でこれなんだから12倍速だったらおそらく7MB/sか…一昔前のハードディスクくらいじゃん!