MD4Ram TEST REPORT (1): DVD-RAM & NTFS
-- MD4Ram テスト レポート (1) : DVD-RAMとNTFS
[←BACK][↑HOME]
bar
[→ Profile][→ System update notes][→ Computer at random][→ BBS][→ Software library][→ Index page]

2005.09.04

 Windows 2000/XP用のソフトウェアRAIDドライバ MD4Ram のテストレポートです。
 現時点ではMD4Ramは開発途中のベータ版ですが、今後のチューニングのためベンチマーク テストを行って見ました。

 MD4Ramはハードディスク、リムーバブルディスク、イメージファイル、RAMディスク等、様々なデバイスを組み合わせて利用できますが、開発するきっかけとなったのは、DVD-RAMドライブでストライピング(RAID0)を実現するためです。Linux標準のソフトウェアRAID機能を使ったDVD-RAM RAIDは以前から活用しており、実際にバックアップ用に使っています。MD4RamはこれをWindows環境でも実現するために開発しました。
 したがって、まずは開発の目的であったDVD-RAMを使ったテストから始めます。

 しかし、DVD-RAMだけでも現在2/3/5倍速とあり、ファイルシステムもUDF/FAT/NTFSがあり、更にストライピングやパラメータに組み合わせによって、すべてテストしていたらきりがありません(実際、既にまる1ヶ月間はテストに時間をかけています)。  まずは、5倍速DVD-RAMを1台だけ使ってファイルシステム等の特性を調べて、次に5倍速DVD-RAMを2〜4台使ったストライピング、2/3倍速DVD-RAMによるストライピングといった具合に進める予定です。他にも気がついたとこがあれば、適時追加するつもりです。

 まだ、すべてのテストが終わったわけではありませんが、結果が出たところから掲載していくつもりです。

【関連】
DVD-RAM ソフトウェア RAID/Linux
DVD-RAM ソフトウェア RAID/Linux (2)

テスト環境

テスト環境
  • マザーボード ASUS P4P800SE (BIOS 1007)
  • CPU Intel Pentium 4 3.20EGHz
  • RAM 1Gバイト
  • OS Windows XP Professional SP2
  • DVD-RAMドライブ Panasonic LF-M721JD (APP6)
  • USB2.0外付ケース KEIAN KA550C
  • DVD-RAMドライバmeiudf.sys ver 4.0.5.0

 テストに使用したMD4RamはVersion 0.99b#02 です。プログラムは開発途中のベータ版ですが、ソフトウェアライブラリに登録しています。
 テストに使用した主なソフトウェアやハードウェアはは右の表のとおりです。  DVD-RAMドライブLF-M721JDは外付ケースKEIAN KA550Cに収納し、USB2.0で接続して使いました。
 速度的にはIDE/ATAPIで接続したほうが有利かと思いますが、後々4台まで接続してアレイを構築することを考えると、ATAPI内蔵では接続台数が厳しくなります。そのため、最初からUSB2.0接続での外付としてテストすることにしました。
 今回はDVD-RAMドライブ LF-M721JDを1台で、FAT32とNTFSでのファイルの読み書きの速度を調べます。

 テストにはベンチマーク用プログラム fcv を使います。

 テスト項目の表記の書式を説明しておきます。
 「Standard」は標準DVD-RAMドライバを意味し、Standardの表記がないのはMD4Ramを使っています。
 「Fixed」と「Removable」はそれぞれ固定ディスクとリムーバブルディスクを意味します。MD4RCtlコマンドでの--removableオプションにあたります。
 「HDD Image」は、ハードディスクに作成したイメージファイルを仮想ドライブとして使用します。この場合、ハードディスクだけで動作しDVD-RAMは使用していません。
 「RAM Cache 30M」はメインメモリの30Mバイトをキャッシュに割り当てたアレイです。MD4Rctlコマンドでは--cache RAM --capacity 30Mを指定した動作します。  「HDD Cache」はアレイと同容量のイメージファイルをハードディスク上に作成し、キャッシュに割り当てています。

 通常、NTFSはファイルのアクセス日時を記録しており、読み取りのためファイルアクセスを行なった場合でも更新されます。ファイル数やフォルダ数が多いと、アクセス日時を更新するために全体のファイルアクセス性能が低下することがあります。  このため、NTFSについてはアクセス日時を更新する通常のモードと、アクセス日時の更新を無効にしたモードと2つのモードでテストしています。通常モードは「NTFS (Normal)」、アクセス日時更新を禁止したモードは「NTFS (No Update)」と表記しています。
 アクセス日時の更新を無効にするにはレジストリ HKLM\System\CurrentControlSet\Control\FileSystem に エントリ NtfsDisableLastAccessUpdate を作成して、DWORD値を"1"を指定します。レジストリを変更後に再起動が必要です。

 各テスト項目に対応するMD4Ramのアレイの作成パラメータの一覧を掲載しておきます。
 DVD-RAMドライブはLドライブ、キャッシュやイメージファイルを格納するハードディスクはEドライブ、作成するアレイはXドライブとします。

Fixed HDD Image md4rctl start array0 x: --dev e:\dvdram.img --blockSize 2048 --blockNumber 2236074 --signBlock 0 --createFile
Fixed md4rctl start array0 x: --dev L:
Fixed HDD Cache md4rctl start array0 x: --dev L: --cache e:\dvdram.img --boockSize 2048 --blockNumber 2236704 --createFile
Fixed RAM Cache 30M md4rctl start array0 x: --dev L: --cache ram --capacity 30M
Removable md4rctl start array0 x: --removable --dev L:
Removable HDD Cache md4rctl start array0 x: --removable --dev L: --cache e:\dvdram.img --boockSize 2048 --blockNumber 2236704 --createFile
Removable RAM Cache 30M md4rctl start array0 x: --removable --dev L: --cache ram --capacity 30M

300Mバイトのファイル操作

 fcvコマンドのパラメータは「fcv x: -verify -maxDirFiles 1000 -filesize 300」です。このパラメータでファイル数6138、総計314,572,800バイトのファイルを操作します。テスト結果は3回実行した平均です。
 括弧の中のパーセンテージは Standard FAT32 を基準にした割合です。100%よりも小さければ、Standard FAT32 よりも速く、100%よりも大きければ遅いことになります。

fcv 300M FAT32
FORMAT
Write Read Delete
time speed (kB/s) time speed (kB/s) time
Standard UDF2.0 348
( 53%)
1375.5kB/s 215
( 18%)
2325.0kB/s 29
( 18%)
FAT32 708
(100%)
735.0kB/s 1215
(100%)
428.0kB/s 245
(100%)
Fixed HDD Image FAT32 19
( 5%)
16299.1kB/s 06
( 1%)
49932.2kB/s 01
( 1%)
Fixed FAT32 637
( 93%)
791.0kB/s 05
( 1%)
59353.4kB/s 01
( 1%)
Fixed HDD Cache FAT32 627
( 91%)
811.4kB/s 06
( 1%)
52428.8kB/s 01
( 1%)
Fixed RAM Cache 30M FAT32 626
( 90%)
814.3kB/s 06
( 1%)
52428.8kB/s 01
( 1%)
Removable HDD Image FAT32 19
( 5%)
16299.1kB/s 06
( 1%)
52428.8kB/s 01
( 1%)
Removable FAT32 645
( 95%)
775.4kB/s 07
( 1%)
44939.0kB/s 01
( 1%)
Removable HDD Cache FAT32 626
( 90%)
813.5kB/s 06
( 1%)
46951.2kB/s 01
( 1%)
Removable RAM Cache 30M FAT32 641
( 94%)
784.5kB/s 06
( 1%)
46951.2kB/s 01
( 1%)
fcv 300M NTFS (Normal)
FORMAT
Write Read Delete
time speed (kB/s) time speed (kB/s) time
Fixed HDD Image NTFS 18
( 4%)
16822.1kB/s 06
( 1%)
52428.8kB/s 02
( 1%)
Fixed NTFS 1012
(143%)
514.0kB/s 07
( 1%)
40853.6kB/s 129
( 54%)
Fixed HDD Cache NTFS 1009
(142%)
515.9kB/s 05
( 1%)
59353.4kB/s 122
( 49%)
Fixed RAM Cache 30M NTFS 954
(139%)
529.6kB/s 06
( 1%)
52428.8kB/s 121
( 49%)
Removable HDD Image NTFS 18
( 4%)
16822.1kB/s 06
( 1%)
49932.2kB/s 02
( 1%)
Removable NTFS 959
(140%)
525.2kB/s 07
( 1%)
44939.0kB/s 124
( 51%)
Removable HDD Cache NTFS 1005
(142%)
519.4kB/s 06
( 1%)
46951.2kB/s 124
( 51%)
Removable RAM Cache 30M NTFS 959
(140%)
525.2kB/s 07
( 1%)
44939.0kB/s 121
( 49%)
fcv 300M NTFS (No Update)
FORMAT
Write Read Delete
time speed (kB/s) time speed (kB/s) time
Fixed HDD Image NTFS 18
( 4%)
16822.1kB/s 07
( 1%)
44939.0kB/s 02
( 1%)
Fixed NTFS 1044
(151%)
487.9kB/s 06
( 1%)
46951.2kB/s 124
( 51%)
Fixed HDD Cache NTFS 933
(134%)
548.7kB/s 07
( 1%)
44939.0kB/s 121
( 49%)
Fixed RAM Cache 30M NTFS 931
(133%)
550.9kB/s 07
( 1%)
44939.0kB/s 119
( 48%)
Removable HDD Image NTFS 18
( 4%)
16822.1kB/s 06
( 1%)
49932.2kB/s 02
( 1%)
Removable NTFS 953
(139%)
530.2kB/s 06
( 1%)
49932.2kB/s 123
( 50%)
Removable HDD Cache NTFS 936
(135%)
545.8kB/s 06
( 1%)
46951.2kB/s 122
( 49%)
Removable RAM Cache 30M NTFS 910
(129%)
572.0kB/s 07
( 1%)
44939.0kB/s 122
( 49%)

 ここで明確な差が出てくれれば、これ以上テストすることもなく楽だったのですが、思ったほど差が付いていません。ファイルの総計が300Mバイト程度ではOSのキャッシュに大部分が収まってしまい差がでないようです。
 MD4Ramを使った読み取りは、どれも6〜7秒と速いのはキャッシュの効果に他なりません。
 ただし、標準DVD-RAMドライバはOSのキャッシュの効果が小さいのか、MD4Ramを使ったときよりも遅くなっています。

4Gバイトのファイル操作

 300Mバイト程度のファイル操作ては話にならないので、4Gバイト程度まで増やして見ました。
 fcvコマンドのパラメータは「fcv x: -verify -maxDirFiles 1000 -filesize 3700」です。このパラメータでファイル数75977、総計3,879,731,200バイトのファイルを操作します。300Mのテストでは3回実行した平均を求めましたが、このテストは時間がかかるので1回だけの結果です。
 ファイルサイズの総計は4Gバイトには少し足りませんがクラスタサイズ等の格納効率の問題があるので、4.7G DVD-RAMの容量一杯に書き込みしていることになります。
 括弧の中のパーセンテージは Standard FAT32 を基準にした割合です。100%よりも小さければ、Standard FAT32 よりも速く、100%よりも大きければ遅いことになります。

fcv 4G FAT32
FORMAT
Write Read Delete
time speed (kB/s) time speed (kB/s) time
Standard UDF2.0 3303
( 42%)
1956.5kB/s 2106
(132%)
3064.6kB/s 819
( 24%)
FAT32 7803
(100%)
828.5kB/s 1556
(100%)
4058.3kB/s 3509
(100%)
Fixed HDD Image FAT32 401
( 5%)
16098.5kB/s 255
( 18%)
22169.9kB/s 57
( 3%)
Fixed FAT32 13323
(171%)
484.8kB/s 1941
(124%)
3285.1kB/s 116
( 4%)
Fixed HDD Cache FAT32 8939
(115%)
721.3kB/s 256
( 18%)
22043.9kB/s 59
( 3%)
Fixed RAM Cache 100M FAT32 9055
(116%)
711.2kB/s 2859
(182%)
2231.0kB/s 129
( 4%)
Removable HDD Image FAT32 412
( 5%)
15395.8kB/s 251
( 18%)
22688.5kB/s 100
( 3%)
Removable FAT32 8901
(114%)
726.4kB/s 1727
(110%)
3705.6kB/s 133
( 4%)
Removable HDD Cache FAT32 9016
(116%)
716.3kB/s 251
( 18%)
22688.5kB/s 57
( 3%)
Removable RAM Cache 100M FAT32 9237
(119%)
698.2kB/s 3618
(228%)
1781.3kB/s 57
( 3%)
fcv 4G NTFS (Normal)
FORMAT
Write Read Delete
time speed (kB/s) time speed (kB/s) time
Fixed HDD Image NTFS 454
( 6%)
13196.4kB/s 338
( 23%)
17796.9kB/s 123
( 4%)
Fixed NTFS 33801
(433%)
191.3kB/s 62728
(3938%)
103.1kB/s 9115
(260%)
Fixed HDD Cache NTFS 15301
(196%)
422.6kB/s 2309
(145%)
2793.2kB/s 2558
( 74%)
Fixed RAM Cache 100M NTFS 15901
(204%)
406.6kB/s 23207
(1457%)
278.6kB/s 5630
(161%)
Removable HDD Image NTFS 441
( 6%)
13806.9kB/s 258
( 19%)
21796.2kB/s 133
( 4%)
Removable NTFS 34823
(446%)
185.6kB/s 39355
(2472%)
164.2kB/s 8451
(241%)
Removable HDD Cache NTFS 14752
(189%)
437.3kB/s 2210
(139%)
2917.1kB/s 2653
( 76%)
Removable RAM Cache 100M NTFS 15655
(201%)
412.1kB/s 26822
(1684%)
240.9kB/s 5643
(161%)
fcv 4G NTFS (No Update)
FORMAT
Write Read Delete
time speed (kB/s) time speed (kB/s) time
Fixed HDD Image NTFS 441
( 6%)
13806.9kB/s 254
( 18%)
22297.3kB/s 136
( 5%)
Fixed NTFS 30519
(391%)
211.8kB/s 5652
(357%)
1137.1kB/s 10004
(285%)
Fixed HDD Cache NTFS 14409
(185%)
448.6kB/s 313
( 20%)
20102.2kB/s 2659
( 77%)
Fixed RAM Cache 100M NTFS 15610
(200%)
414.1kB/s 4621
(291%)
1395.1kB/s 7116
(203%)
Removable HDD Image NTFS 445
( 6%)
13613.1kB/s 252
( 18%)
22556.6kB/s 140
( 5%)
Removable NTFS 34429
(441%)
187.7kB/s 8949
(564%)
719.9kB/s 7945
(227%)
Removable HDD Cache NTFS 14409
(185%)
448.6kB/s 316
( 21%)
19794.5kB/s 2548
( 73%)
Removable RAM Cache 100M NTFS 15106
(194%)
427.9kB/s 4438
(280%)
1448.7kB/s 6920
(197%)

 下は上記の書込時間と読込時間をグラフにしたものです。

FAT32/UDF2.0


NTFS (Normal)


NTFS (No Update)


 とりあえず、わかったのはDVD-RAMでNTFSを使うと洒落にならないほど遅いということです。

 UDF2.0では書き込みは1番速くて33分、読み込みは21分です。今回はUDF2.0でしかテストしていませんが、以前のテストからUDF1.5でも性能は変わらないはずです。

 FAT32では条件にもよりますが、書き込みは1時間半から2時間とUDF2.0の3倍速の時間がかかっています。ただし、読み込みについては、UDF2.0と互角か、上回るケースもあります。ません。また、同じFAT32でもMD4Ramを使うとオーバーヘッドがあるのか少し遅くなるので、標準DVD-RAMドライバが一番速いようです。
 MD4RamでFAT32を使う場合、リムーバブルディスクとして扱ったほうが少しだけ速いようです。おそらく、固定ディスクとリムーバブルディスクではOSのキャッシュの動作が異なるのではないと推測しています。

 とにかく悲惨なのはNTFSで、普通に書き込みすると5〜6時間かかります。M4Ramをキャッシュ機能を使うと、半分程度に縮まって2時間半くらいになりますが、それでもUDF2.0の5〜6倍の時間がかかっています。
 更にアクセス日時を更新する通常モード「NTFS (Normal)」では読み込みに10時間もかけて、書き込みよりも遅くなっています。
 MD4Ramのキャッシュはライトスルー方式でディスクI/Oレベルの書き込みには高速化の効果はありません。しかし、ファイルの書き込みについては、ファイルやフォルダ情報の読み取り操作もともなうので、MD4Ramのキャッシュが有効に働いているようです。
 FAT32とは逆で、NTFSでは固定ディスクとして扱ったほうが少しだけ速いようです。

DVD-RAMでNTFSを使うには

 UDF2.0やFAT32の倍以上も時間がかかることを考えると速度的にはDVD-RAMでNTFSを使うメリットはありません。しかし、アクセス権やセキュリティや暗号化のためにどうしてもNTFSを使いたい場合には、アクセス日時の更新は必ず無効にして、MD4Ramのキャッシュを設定するといいでしょう。
 今回のテストでは「〜 HDD Cache」というハードディスク上のイメージファイルをキャッシュに設定する方法と、「〜 RAM Cache 100M」メインメモリの一部をキャッシュに設定する2つの方法を試しましたが、どちらの方法でも効果がありました。
 固定ディスクとリムーバブルディスクの違いですが、NTFSでは固定ディスク扱いにしたほうが若干パフォーマンスがいいようです。

速度を求めるならイメージファイルを活用する

 一番速いのはハードディスク上のイメージファイルを活用する方法です。
 「〜 HDD Image」のテスト結果を見るとわかりますが、NTFSを使ってもハードディスク上では書き込みはたったの5分です。
 この書き込みが終わったら、MD4RCtlのWriteコマンドでイメージファイルのままDVD-RAMに書き込みします。5倍速DVD-RAMだと28〜30分程度で書き込みでき、トータルでは約35分で作業が完了します(途中、ユーザの操作が必要になりますが)。これは、DVD-RAM上では一番速かったUDF2.0とほぼ同じです。

 数百Mバイト程度の書き込みならこの方法を使うことはありませんが、数G超えるとか書き込みに1時間以上かかりそうな場合は、イメージファイルを活用したほうが短時間で書き込みできます。
 B's Recorder 等のCD/DVDライティングソフトでDVD-RAMに書き込む方法に似ていますが、ライティングソフトを使うとROM扱いとなりファイルを削除・変更したり個別のファイル操作ができません。
 この点、MD4Ramのイメージファイルを活用する方法なら、DVD-RAMに書きこんだ後でも自由にファイル操作ができます。

まとめ

 DVD-RAMを1台だけで使う場合、速度的にはMD4Ramを使うメリットはありません。やはり標準のUDF1.5/2.0を使うのがベストかと思います。
 ただし、UDF1.5/2.0にも弱点があって、同じフォルダに数千個とか万単位のファイルを格納すると極端に遅くなります。適当にフォルダを分割できれば回避できますが、フォルダ内のファイル数が増えてしまう場合にはFAT32を使ったほうが速い場合もあります。

 NTFSについては、FAT32よりも更に遅いので、速度的にはまったく使う価値はありません。しかし、NTFSには暗号化や圧縮など、UDFやFAT32にはない機能が備わっています。NTFSであれば、これらの機能や情報をDVD-RAMでも使用できます。
 ただし、今回のテスト結果を見てもわかるとおり、書き込みにはUDFやFAT32の何倍も時間がかかります。
 一度に書き込みするファイルサイズが数100Mバイト程度なら、数分程度の時間でFAT32との差はそれほど大きくありませんが、数Gバイトを超えるファイルを書き込みする場合には、使うのをためらうほど遅くなります。
 しかし、この問題はMD4Ramのイメージファイルを活用することで解決できます。ハードディスク上のイメージファイルに書き込みを行なえば、大量のファイル操作も数分で完了します。イメージファイル上での作業が終わったら、まるごとDVD-RAMに書き込みすると5分+30分程度の作業時間で済みます(30分というのは5倍速DVD-RAM使用時です。3倍速だと40分、2倍速で1時間程度です)

 次回はDVD-RAMドライブ2台を使ったストライピングによるテストを行なう予定です。

【関連記事】

2003.09.19 DVD-RAM ソフトウェア RAID/Linux
2003.12.14 DVD-RAM ソフトウェア RAID/Linux (2)
2003.08.05 GSA-4040B DVD-RAMベンチマーク
2003.08.13 GSA-4040B パケットライト
2004.06.18 GSA-4120B 5倍速DVD-RAMベンチマーク
2004.07.13 LF-M721JD 5倍速DVD-RAMベンチマーク
2004.07.15 LF-M721JD 5倍速DVD-RAM (2)
2005.07.22 Panasonic DVDスーパーマルチLF-M821JD & LF-M721JD購入

  この記事へのコメント
コメントはありません。


名前 内容 -1904-を右に入力
 名前は10文字、内容は100文字以内で入力してください(半角の場合は倍の文字数まで)。
 もっと長いコメントや感想は掲示板(BBS)に投稿してください。

bar
PAGE HIT: 00010796 [←BACK][↑HOME]