テストを行って見ました。MD4Ramはハードディスク、リムーバブルディスク、イメージファイル、RAMディスク等、様々なデバイスを組み合わせて利用できますが、開発するきっかけとなったのは、DVD-RAMドライブでストライピング(RAID0)を実現するためです。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によるストライピングといった具合に進める予定です。他にも気がついたとこがあれば、適時追加するつもりです。すべてのテストが終わったわけではありませんが、結果が出たところから掲載していくつもりです。プログラムは開発途中のベータ版ですが、ソフトウェアライブラリに登録しています。テストに使用した主なソフトウェアやハードウェアはは右の表のとおりです。KA550Cに収納し、USB2.0で接続して使いました。速度的にはIDE/ATAPIで接続したほうが有利かと思いますが、後々4台まで接続してアレイを構築することを考えると、ATAPI内蔵では接続台数が厳しくなります。そのため、最初からUSB2.0接続での外付としてテストすることにしました。LF-M721JDを1台で、FAT32とNTFSでのファイルの読み書きの速度を調べます。テスト項目の表記の書式を説明しておきます。「Standard」は標準DVD-RAMドライバを意味し、Standardの表記がないのはMD4Ramを使っています。「Fixed」と「Removable」はそれぞれ固定ディスクとリムーバブルディスクを意味します。MD4RCtlコマンドでの--removableオプションにあたります。Image」は、ハードディスクに作成したイメージファイルを仮想ドライブとして使用します。この場合、ハードディスクだけで動作しDVD-RAMは使用していません。30M」はメインメモリの30Mバイトをキャッシュに割り当てたアレイです。30Mを指定した動作します。Cache」はアレイと同容量のイメージファイルをハードディスク上に作成し、キャッシュに割り当てています。通常、NTFSはファイルのアクセス日時を記録しており、読み取りのためファイルアクセスを行なった場合でも更新されます。ファイル数やフォルダ数が多いと、アクセス日時を更新するために全体のファイルアクセス性能が低下することがあります。このため、NTFSについてはアクセス日時を更新する通常のモードと、アクセス日時の更新を無効にしたモードと2つのモードでテストしています。Update)」と表記しています。作成して、DWORD値を"1"を指定します。レジストリを変更後に再起動が必要です。各テスト項目に対応するMD4Ramのアレイの作成パラメータの一覧を掲載しておきます。DVD-RAMドライブはLドライブ、キャッシュやイメージファイルを格納するハードディスクはEドライブ、作成するアレイはXドライブとします。このパラメータでファイル数6138、総計314,572,800バイトのファイルを操作します。テスト結果は3回実行した平均です。速く、100%よりも大きければ遅いことになります。49%)ここで明確な差が出てくれれば、これ以上テストすることもなく楽だったのですが、思ったほど差が付いていません。ファイルの総計が300Mバイト程度ではOSのキャッシュに大部分が収まってしまい差がでないようです。MD4Ramを使った読み取りは、どれも6〜7秒と速いのはキャッシュの効果に他なりません。標準DVD-RAMドライバはOSのキャッシュの効果が小さいのか、MD4Ramを使ったときよりも遅くなっています。4Gバイトのファイル操作300Mバイト程度のファイル操作ては話にならないので、4Gバイト程度まで増やして見ました。このパラメータでファイル数75977、総計3,879,731,200バイトのファイルを操作します。300Mのテストでは3回実行した平均を求めましたが、このテストは時間がかかるので1回だけの結果です。DVD-RAMの容量一杯に書き込みしていることになります。速く、100%よりも大きければ遅いことになります。69分20秒(197%)下は上記の書込時間と読込時間をグラフにしたものです。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倍の時間がかかっています。(Normal)」では読み込みに10時間もかけて、書き込みよりも遅くなっています。MD4Ramのキャッシュはライトスルー方式でディスクI/Oレベルの書き込みには高速化の効果はありません。ファイルの書き込みについては、ファイルやフォルダ情報の読み取り操作もともなうので、MD4Ramのキャッシュが有効に働いているようです。FAT32とは逆で、NTFSでは固定ディスクとして扱ったほうが少しだけ速いようです。DVD-RAMでNTFSを使うにはUDF2.0やFAT32の倍以上も時間がかかることを考えると速度的にはDVD-RAMでNTFSを使うメリットはありません。アクセス権やセキュリティや暗号化のためにどうしてもNTFSを使いたい場合には、アクセス日時の更新は必ず無効にして、MD4Ramのキャッシュを設定するといいでしょう。100M」メインメモリの一部をキャッシュに設定する2つの方法を試しましたが、どちらの方法でも効果がありました。固定ディスクとリムーバブルディスクの違いですが、NTFSでは固定ディスク扱いにしたほうが若干パフォーマンスがいいようです。速度を求めるならイメージファイルを活用する一番速いのはハードディスク上のイメージファイルを活用する方法です。Image」のテスト結果を見るとわかりますが、NTFSを使ってもハードディスク上では書き込みはたったの5分です。この書き込みが終わったら、MD4RCtlのWriteコマンドでイメージファイルのままDVD-RAMに書き込みします。5倍速DVD-RAMだと28〜30分程度で書き込みでき、トータルでは約35分で作業が完了します(途中、ユーザの操作が必要になりますが)。これは、DVD-RAM上では一番速かったUDF2.0とほぼ同じです。数百Mバイト程度の書き込みならこの方法を使うことはありませんが、数G超えるとか書き込みに1時間以上かかりそうな場合は、イメージファイルを活用したほうが短時間で書き込みできます。等の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時間程度です)。LF-M721JD購入この記事へのコメントコメントはありません。名前は10文字、内容は100文字以内で入力してください(半角の場合は倍の文字数まで)。長いコメントや感想は掲示板(→BBS)に投稿してください。