| 
 2005.10.05 
 Windows 2000/XP用のソフトウェアRAIDドライバ MD4Ram のテストレポートです。 
 前回はDVD-RAMドライブでNTFSを使った場合の速度を調べてましたが、今回は5倍速DVD-RAMドライブを2台使ったストライビングについて調べます。 
 
【関連】 
→  MD4Ram テスト レポート (1) : DVD-RAMとNTFS 
→ DVD-RAM ソフトウェア RAID/Linux 
→ DVD-RAM ソフトウェア RAID/Linux (2) 
 
 5倍速DVD-RAMストライピング アレイの基本性能
 テスト環境は前回と同じですので省略しますが、DVD-RAMドライブはLF-M721JDを2台、USB2.0接続の外付ケースKA550Cに収容して使いました。 
 5倍速DVD-RAMを2台使ったストライピング(RAID0)アレイの性能を調べますが、ストライプサイズは64K・512K・1Mバイトの3パターンで調べました。 
 まずはDevTestを使って基本的なアレイの性能を調べて見ました。比較のためドライブ単独での結果も掲載しています。 
 括弧の中のパーセンテージは単独ドライブに対する速度の比率です。100%より小さいと単独ドライブよりも遅く、大きいと速くなっていることを意味します。 
 
| DEVTEST BENCHMARK | 
 
| TEST | 
5x SINGLE | 
5x STRIPE 64K | 
5x STRIPE 512K | 
5x STRIPE 1M | 
 
| Sequential Read/Start | 
2048B | 
399.7kB/s | 
824.6kB/s (206.3%) | 
897.0kB/s (224.4%) | 
1020.2kB/s (255.2%) | 
 
| 16384B | 
3261.3kB/s | 
5991.9kB/s (183.7%) | 
5729.9kB/s (175.7%) | 
5961.9kB/s (182.8%) | 
 
| 65536B | 
6823.4kB/s | 
12511.4kB/s (183.4%) | 
8735.3kB/s (128.0%) | 
7722.3kB/s (113.2%) | 
 
| Sequential Read/ 50% | 
512B | 
392.5kB/s | 
1113.6kB/s (283.7%) | 
982.2kB/s (250.2%) | 
993.4kB/s (253.1%) | 
 
| 16384B | 
3218.4kB/s | 
5928.0kB/s (184.2%) | 
5837.4kB/s (181.4%) | 
6032.2kB/s (187.4%) | 
 
| 65536B | 
6827.3kB/s | 
13139.9kB/s (192.5%) | 
8930.2kB/s (130.8%) | 
7720.1kB/s (113.1%) | 
 
| Sequential Read/End | 
2048B | 
408.1kB/s | 
1176.6kB/s (288.3%) | 
1057.2kB/s (259.1%) | 
1059.4kB/s (259.6%) | 
 
| 16384B | 
2620.4kB/s | 
4950.8kB/s (188.9%) | 
5669.2kB/s (216.3%) | 
6055.5kB/s (231.1%) | 
 
| 65536B | 
6827.5kB/s | 
9531.0kB/s (139.6%) | 
8847.4kB/s (129.6%) | 
7610.9kB/s (111.5%) | 
 
| Sequential Read/Ave. | 
2048B | 
400.1kB/s | 
1038.2kB/s (259.5%) | 
978.8kB/s (244.6%) | 
1024.3kB/s (256.0%) | 
 
| 16384B | 
3033.4kB/s | 
5623.6kB/s (185.4%) | 
5745.5kB/s (189.4%) | 
6016.6kB/s (198.3%) | 
 
| 65536B | 
6826.0kB/s | 
11727.4kB/s (171.8%) | 
8837.7kB/s (129.5%) | 
7684.5kB/s (112.6%) | 
 
| Random  Read | 
2048B | 
5.9kB/s | 
6.9kB/s (116.9%) | 
6.3kB/s (106.8%) | 
7.5kB/s (127.1%) | 
 
| 16384B | 
48.8kB/s | 
47.9kB/s ( 98.2%) | 
55.5kB/s (113.7%) | 
61.4kB/s (125.8%) | 
 
| 65536B | 
187.7kB/s | 
87.4kB/s ( 46.6%) | 
193.7kB/s (103.2%) | 
218.1kB/s (116.2%) | 
 
| Sequential Write/Start | 
2048B | 
382.3kB/s | 
719.9kB/s (188.3%) | 
580.6kB/s (151.9%) | 
693.8kB/s (181.5%) | 
 
| 16384B | 
2205.4kB/s | 
3631.0kB/s (164.6%) | 
3541.5kB/s (160.6%) | 
2504.2kB/s (113.5%) | 
 
| 65536B | 
2626.6kB/s | 
4272.9kB/s (162.7%) | 
4295.0kB/s (163.5%) | 
3880.8kB/s (147.7%) | 
 
| Sequential Write/ 50% | 
2048B | 
380.5kB/s | 
754.7kB/s (198.3%) | 
747.4kB/s (196.4%) | 
641.9kB/s (168.7%) | 
 
| 16384B | 
1911.8kB/s | 
4149.5kB/s (217.0%) | 
3831.5kB/s (200.4%) | 
2662.6kB/s (139.3%) | 
 
| 65536B | 
2229.6kB/s | 
4840.4kB/s (217.1%) | 
4294.2kB/s (192.6%) | 
3596.0kB/s (161.3%) | 
 
| Sequential Write/End | 
2048B | 
379.9kB/s | 
783.6kB/s (206.3%) | 
775.0kB/s (204.0%) | 
780.5kB/s (205.4%) | 
 
| 16384B | 
2072.3kB/s | 
3429.7kB/s (165.5%) | 
3669.5kB/s (177.1%) | 
2838.5kB/s (137.0%) | 
 
| 65536B | 
2605.4kB/s | 
4163.4kB/s (159.8%) | 
3698.8kB/s (142.0%) | 
2797.0kB/s (107.4%) | 
 
| Sequential Write/Ave. | 
2048B | 
380.9kB/s | 
752.7kB/s (197.6%) | 
701.0kB/s (184.0%) | 
705.4kB/s (185.2%) | 
 
| 16384B | 
2063.1kB/s | 
3736.8kB/s (181.1%) | 
3680.8kB/s (178.4%) | 
2668.5kB/s (129.3%) | 
 
| 65536B | 
2487.2kB/s | 
4425.6kB/s (177.9%) | 
4096.0kB/s (164.7%) | 
3424.6kB/s (137.7%) | 
 
| Random  Write | 
2048B | 
14.7kB/s | 
18.7kB/s (127.2%) | 
15.0kB/s (102.0%) | 
19.3kB/s (131.3%) | 
 
| 16384B | 
47.1kB/s | 
68.0kB/s (144.4%) | 
55.4kB/s (117.6%) | 
85.0kB/s (180.5%) | 
 
| 65536B | 
126.6kB/s | 
119.1kB/s ( 94.1%) | 
144.7kB/s (114.3%) | 
160.5kB/s (126.8%) | 
 
 
| Random Read/Write BENCHMARK | 
 
| TEST | 
5x SINGLE | 
5x STRIPE 64K | 
5x STRIPE 512K | 
5x STRIPE 1M | 
 
| 50:50 | 
Read  Speed | 
34.4kB/s | 
40.5kB/s (117.7%) | 
52.0kB/s (151.2%) | 
53.2kB/s (154.7%) | 
 
| Write Speed | 
35.6kB/s | 
39.1kB/s (109.8%) | 
47.5kB/s (133.4%) | 
49.0kB/s (137.6%) | 
 
| Read  Count | 
0.3io/s | 
1.0io/s (333.3%) | 
1.0io/s (333.3%) | 
1.0io/s (333.3%) | 
 
| Write Count | 
0.7io/s | 
1.0io/s (142.9%) | 
1.0io/s (142.9%) | 
1.0io/s (142.9%) | 
 
| 90:10 | 
Read  Speed | 
96.8kB/s | 
71.3kB/s ( 73.7%) | 
100.4kB/s (103.7%) | 
109.5kB/s (113.1%) | 
 
| Write Speed | 
11.8kB/s | 
7.6kB/s ( 64.4%) | 
12.2kB/s (103.4%) | 
12.9kB/s (109.3%) | 
 
| Read  Count | 
2.3io/s | 
2.0io/s ( 87.0%) | 
2.7io/s (117.4%) | 
3.0io/s (130.4%) | 
 
| Write Count | 
0.0io/s | 
0.0io/s (-----%) | 
0.0io/s (-----%) | 
0.0io/s (-----%) | 
 
| 10:90 | 
Read  Speed | 
10.1kB/s | 
14.3kB/s (141.6%) | 
16.2kB/s (160.4%) | 
16.7kB/s (165.3%) | 
 
| Write Speed | 
75.7kB/s | 
90.1kB/s (119.0%) | 
108.4kB/s (143.2%) | 
112.4kB/s (148.5%) | 
 
| Read  Count | 
0.0io/s | 
0.0io/s (-----%) | 
0.0io/s (-----%) | 
0.0io/s (-----%) | 
 
| Write Count | 
2.0io/s | 
2.0io/s (100.0%) | 
3.0io/s (150.0%) | 
3.0io/s (150.0%) | 
 
 
 次のグラフは、全領域についてリード/ライトした速度をグラフにしたものです。 
 
| 5x DVD-RAM STRIPE READ/WRITE GRAPH |  
  |   
| Drive/Media | 
READ | 
WRITE | 
 
| SINGLE | 
11分 08秒 | 
4.95倍速 | 
35分 09秒 | 
1.57倍速 | 
 
| STRIPE 64K | 
11分 35秒 | 
9.52倍速 | 
37分 01秒 | 
2.98倍速 | 
 
| STRIPE 512K | 
16分 25秒 | 
6.72倍速 | 
38分 27秒 | 
2.87倍速 | 
 
| STRIPE 1M | 
18分 35秒 | 
5.93倍速 | 
32分 07秒 | 
3.43倍速 | 
 
 
 右の表は全領域の読込と書込にかかった時間です。 
 
 DVD-RAMはZCLVフォーマットを採用しており、内周から外周にかけて35個のゾーンに区切られていて、1トラックあたりのセタク数がゾーンによって変化します。 
 全領域リード/ライトのグラフで、ところどころ谷間のように速度が下がっている箇所がありますが、ゾーンの境界にアクセスしたことで一度的に速度が落ちたのだと思います(ただし、8Gバイトを過ぎたところが大きく落ち込んでいるのは、不良セクタが原因かもしれません)。 
 また、ストライプサイズ512Kおよび1Mでのリードでは、領域によって速度が変化していますが、これもゾーンによって1トラックあたりのセクタ数が変化することが原因だと思います。 
 
 不可解なのはストライプサイズ1Mでの書込速度(黄色のグラフ)です。ストライピングの仕組みからするとストライプサイズが小さいほうがシーケンシャルアクセス性能は向上し、このグラフでも読込速度ではその通りになっています。しかし、書込速度では何故かストライプサイズ1Mの場合が一番速くなっています。 
 DVD-RAMの書き込みはベリファイはともなうので半分の速度になりますが、5倍速DVD-RAMではこれが3分の1まで落ちることが多々あります。おそらく、ストライプサイズ64Kと512Kでは3分の1まで低下し、1Mの場合では半分程度の低下で収まったのではないかと思います。どういう条件で3分の1まで書き込み速度が落ちるのか判明していませんが、計測によっては結果が大きく変わることもあるかと思います。 
 
 ストライプサイズ64Kでのシーケシンャルリードでは単独ドライブに対して約1.9倍の性能が出ているので、2倍近い性能を達成しています。速度にすると約13000kB/s 、DVDでの9.5倍速に相当します。 
 しかし、ストライプサイズが512Kでは1.3倍、1Mでは1.1倍程度しか速くなっていません。 
 書き込み、シーケンシャルライトについてもやはりストライプサイズが大きくなるほど、性能向上の割合が低くなっています。 
 先ほどの説明しましたが5倍速DVD-RAMの書込速度は遅くなる場合がありますが、シーケンシャルライトでは4200〜4800kB/秒、DVDの倍速で3.0〜3.5倍速といったところです。 
 シーケンシャルアクセスの性能を重視するなら、ストライプサイズは64Kバイトよりも大きくしないほうが良さそうです。 
 
 ランダムアクセスについてはシーケンシャルとは逆に、ストライプサイズが大きくなるほど性能が向上しています。 
 ストライプサイズ64Kでは単独ドライブよりランダムアクセスが遅くなっていますが、512Kではきっこうし、1Mでは完全に単独を上回っています。 
 ランダムアクセス性能を重視するなら、ストライプサイズを1Mバイトと大きく設定する使い方も考えたほうがいいでしょう。 
 
 4Gバイトのファイル操作
 基本気なストライピングアレイの性能は分かったので、次はファイル操作のテストです。前回、行なったfcvコマンドによる総計4Gバイトのファイル書込・読込・削除を行なうテストです。 
 MD4Ramで作成できるアレいにはパラメータによって様々な設定ができますが、すべての組み合わせてテストを行なうのは時間がかかります。そこで、前回のテスト結果から、もっとも最適と思われる設定にしぼってテストを行ないました。 
 FAT32ではリムーバブルディスクとして、NTFSではアクセス日時の更新を無効にした上で100Mバイトのキャッシュを設定しています。 
 
 括弧の中のパーセンテージはFAT32では「Single Removable」を、NTFSでは「Single Fixed RAM Cache 100M」を基準にした割合です。100%よりも小さければ、単独ドライブ(Single)よりも速く、100%よりも大きければ遅いことになります。 
 
| fcv 4G FAT32 FORMAT  | 
Write | 
Read | 
Delete | 
 
| time | 
speed (kB/s) | 
time | 
speed (kB/s) | 
time | 
 
| Single Standard | 
UDF2.0 | 
33分03秒 ( 37%) | 
1956.5kB/s | 
21分06秒 (121%) | 
3064.6kB/s | 
8分19秒 (537%) | 
 
| FAT32 | 
78分03秒 ( 88%) | 
828.5kB/s | 
15分56秒 ( 91%) | 
4058.3kB/s | 
35分09秒 (2268%) | 
 
Single Removable | 
FAT32 | 
89分01秒 (100%) | 
726.4kB/s | 
17分27秒 (100%) | 
3705.6kB/s | 
1分33秒 (100%) | 
 
Stripe  64K Removable | 
FAT32 | 
48分36秒 ( 55%) | 
1330.5kB/s | 
10分51秒 ( 62%) | 
5959.6kB/s | 
1分23秒 ( 89%) | 
 
Stripe 512K Removable | 
FAT32 | 
50分39秒 ( 57%) | 
1276.6kB/s | 
10分43秒 ( 61%) | 
6033.8kB/s | 
1分15秒 ( 81%) | 
 
Stripe   1M Removable | 
FAT32 | 
52分15秒 ( 59%) | 
1237.6kB/s | 
11分45秒 ( 67%) | 
5503.2kB/s | 
57秒 ( 61%) | 
 
 
| fcv 4G NTFS (No Update) FORMAT  | 
Write | 
Read | 
Delete | 
 
| time | 
speed (kB/s) | 
time | 
speed (kB/s) | 
time | 
 
Single Fixed RAM Cache 100M | 
NTFS | 
156分10秒 (100%) | 
414.1kB/s | 
46分21秒 (100%) | 
1395.1kB/s | 
71分16秒 (100%) | 
 
Stripe  64K Fixed RAM Cache 100M | 
NTFS | 
90分01秒 ( 58%) | 
718.3kB/s | 
25分13秒 ( 54%) | 
2564.3kB/s | 
40分49秒 ( 57%) | 
 
Stripe 512K Fixed RAM Cache 100M | 
NTFS | 
86分41秒 ( 56%) | 
746.0kB/s | 
36分23秒 ( 78%) | 
1777.2kB/s | 
37分28秒 ( 53%) | 
 
Stripe   1M Fixed RAM Cache 100M | 
NTFS | 
90分02秒 ( 58%) | 
718.2kB/s | 
32分18秒 ( 70%) | 
2001.9kB/s | 
37分27秒 ( 53%) | 
 
 
 FAT32ではストライプサイズは64K・512K・1Mいずれでも、性能に大きな違いはないようです。 
 単独ドライブでは約90分かかっていた書込は、ストライピングアレイでは50分前後にまで短縮され、1.8倍ほど速くなっています。読込については単独ドライブが約17分から、10分前後と1.7倍くらいに速くなっています。 
 
 NTFSでは多少ストライプサイズによる差が出ていますが、それでも大きな違いではありません。 
 単独ドライブでは2時間36分かかっていた書込は、1時間30分前後と1.7倍ほど速くなっています。読込については単独ドライブが約46分から、25〜35分と1.3〜1.8倍くらいに速くなっています。 
 
 fcvによるテストでは75977個というファイルを扱っているので、シーケンシャルアクセスよりはランダムアクセスが重要となりますが、ストライピングの効果は十分にあるようです。 
 
 イメージファイルの活用はストライピングでも有効
 前回も書きましたが、数万個という大量のファイルを新規に書き込み保存する場合は、ハードディスク上に作成したイメージファイルを利用する方法がもっとも速い場合があります。DVD-RAMでのストライピングでもこれが当てはまります。 
 たとえば、fcvのよる総計4Gバイトのファイル書込でも、ハードディスク上のイメージファイルに対して行なえばFAT32でもNTFSでも4〜5分で完了します。このイメージファイルをストライビングしたDVD-RAMアレイに書き込むと32〜38分程度かかり、合計で36〜43分程度の所要時間となります。 
 アレイの全容量9Gバイトを使い切ってもイメージファイルの書込時間(32〜38分)は変わらないので、直接書き込みすると2時間くらいかかる処理でも、イメージファイルを活用すれば1時間以内で終わるはずです。 
 
 まとめ
 ストライピングによる高速化の効果は2倍とはいかなくても、1.3〜1.8倍くらいあるようです。 
 
 しかし、書込については5倍速DVD-RAM特有の弱点のせいか、あまり速くならない場合もありました。 
 松下ドライブでは5倍速DVD-RAMのランダムアクセスが遅いのは当初からわかっていましたが、書込速度が3分の1(実質1.66倍速)まで低下するという問題があります(日立LGドライブでは5倍速での方式が違うので、当てはまりませんが)。 
 このテストを始めたときには深刻には考えていませんでしたが、これが大きく影響しているようです。 
 おそらく、2/3倍速DVD-RAMであれば、書込においても性能向上の割合が大きいのではないかと思います。2/3倍速DVD-RAMでのストライピングは次回以降に行なう予定です。 
 【関連記事】
→ 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購入 
 
 
 |