RAIDのベンチマーク
0.改訂履歴
- 2002.10.08 新規作成
- 2002.10.14 まとめの追加.
- 2002.10.17 RAID0+1と,RAID50の追加.
1.はじめに
このドキュメントでは,IA(Intel Architecture)サーバを使って,RAIDレベルによっての性能比と特性について調べてみた結果をまとまる.
この計測を行った環境は,試用させていただいたRAIDコントローラのバッファやRAID構成時のブロック容量,OSのI/O設定等,マシンの設定を細かくチューニングしたわけではないため,チャンピオンレコードを狙っているわけではない.
ただし,多くの人はそのまま使っている事が考えられるので,色々なRAID構成とディスク数に関連する一般的な数値(倍率)が出たと考えている.
また,サンプルは1回しか取っていない.
2.今回の計測環境
2.1.ハードウェア環境
- 今回テストの為に借りたのは,次のような構成のマシンである.
- DELL PowerEdge6650(Xeon 1600MHz 4CPU メモリ4GB)というマシンを使用.
- 本体には4本のディスクを搭載している.(最大5本はいる)
- 外付けの筐体で10本くらいのハードディスクが搭載できるPowerVault220Sに,6本のディスクを搭載.
2.2.ディスクとコントローラ周りの特徴
- RAIDコントローラとして,DELL PERC3/Diというカード.
- SCSI3に対応して,160MB/secという速度.
- RAIDコントローラには2つチャネルが付いている.
- チャネルは,次のように割り当てられている.
- 本来なら,ArrayGroup毎にチャネルを分けるべきだが,今回は足りないので分けない.
- また,PowerEdge6650の内蔵ディスクとPowerVaultSS0Sの外付けディスクのディスクドライブは,製造メーカが異なる.
2.3.計測ソフトなど
- 用いたOSは,Windows2000 Advanced Server.
- 計測に用いたのは,HDBenchV3.3というソフト.
3.基準値の計測
- まず,ハードディスク単体の性能を計測して,それを基準値としたい.
- 今回は,内蔵と外付けでドライブメーカが異なっているため,上記の図にあるドライブを,それぞれ計測した.
- まずは内蔵ディスクの計測結果が次の通りである.
容量 | Read | Write | FileCopy | |
---|---|---|---|---|
単体1 |
0.1GB |
105566 |
59534 |
30008 |
内蔵 |
0.5GB |
49050 |
48756 |
30340 |
1GB |
48615 |
46642 |
30366 |
|
2GB |
49015 |
46792 |
30698 |
- 0.1GB(100MB)の性能が特出して高いが,これはキャッシュが作用した結果だと考えられる.
- 利用したRAIDカード,PERC3/Diというのは,128MBのキャッシュ用RAMを持っているので,最大値が103MB程度という部分で一致する.
- 次に,外付けディスク側の単体性能を計測する.
容量 | Read | Write | FileCopy | |
---|---|---|---|---|
単体2 |
0.1GB |
109051 |
45490 |
15862 |
内蔵 |
0.5GB |
44339 |
42605 |
12797 |
1GB |
46019 |
41529 |
13765 |
|
2GB |
46444 |
40229 |
14219 |
- この計測結果を見ると,内蔵ディスクの方が高速だとわかる.
- さらに,外付けディスクは書き込み性能が落ちている.
3.ディスクを2本使った計測
- ここでは,次の図のように2本の内蔵ハードディスクを利用する.
- このディスクを使い,RAID0とRAID1の計測を行った.
- まずはRAID0の計測結果を確認する.
容量 | Read | Write | FileCopy | |
---|---|---|---|---|
RAID0 |
0.1GB |
112899 |
59019 |
31718 |
2本 |
0.5G |
58400 |
55440 |
31750 |
内蔵 |
1GB |
56884 |
54976 |
31546 |
2GB |
57308 |
54772 |
30908 |
- 2本のディスクへの読み書きなので,前出の1本のディスクを使っている場合より高速に動作している事が確認できた.
- 単体の内蔵ディスクと比べてみる.
容量 | Read | Write | FileCopy | |
---|---|---|---|---|
単体1 |
2GB |
49015 |
46792 |
30698 |
RAID0 |
2GB |
57308 |
54772 |
30908 |
倍率 |
1.17 |
1.17 |
1.00 |
- 約1.2倍で動作している模様.
- 次に同じディスクを使って,RAID1で計測した結果が次の通りである.
容量 | Read | Write | FileCopy | |
---|---|---|---|---|
RAID1 |
0.1GB |
112899 |
39187 |
17708 |
2本 |
0.5G |
50642 |
28294 |
14083 |
内蔵 |
1GB |
52932 |
29022 |
18832 |
2GB |
50044 |
28504 |
19138 |
- 「RAID1は論理的には読み込み2倍」であるが,単体ディスクに比べて若干の高速Readが実現されている.
- しかし,書き込みに関しては性能が落ちている.
- これは,2つのディスクに書き込む為の同期処理のオーバヘッドがあるのかもしれない.
- 前出の単体の場合とRAID1を比べる.
容量 | Read | Write | FileCopy | |
---|---|---|---|---|
単体1 |
2GB |
49015 |
46792 |
30698 |
RAID0 |
2GB |
50044 |
28504 |
19138 |
倍率 |
1.02 |
0.60 |
0.62 |
- 読み込みに関しては大差ないが,書き込みに関しては60%の速度しか出ていない.
- あはり冗長化構成なので,そのオーバヘッド分を考えると妥当なのかもしれない?
4.RAID0+1の計測
- ここでは,ディスク4本を使い,RAID0+1を使って計測する.
- 使用するディスクは,外付けディスクである.
- これで計測し,次のような結果となった.
容量 | Read | Write | FileCopy | |
---|---|---|---|---|
RAID0+10 |
0.1GB |
80820 |
38994 |
30066 |
4本 |
0.5G |
53533 |
29282 |
29581 |
外付け |
1GB |
55440 |
28919 |
29810 |
2GB |
56275 |
28761 |
29421 |
- 単体の外付けディスクと比べてみる.
容量 | Read | Write | FileCopy | |
---|---|---|---|---|
単体外付け |
2GB |
46444 |
40229 |
14219 |
RAID0+1 |
2GB |
56275 |
28761 |
29421 |
倍率 |
1.20 |
0.71 |
2.07 |
- Read&Write単体ではRAID1と同等であるが,FileCopy性能で2倍の性能が出ている.
- 次に,RAID0+1を6本で構成した場合の比較を行った結果を示す.
容量 | Read | Write | FileCopy | |
---|---|---|---|---|
単体外付け |
2GB |
46444 |
40229 |
14219 |
RAID0+1 |
2GB |
55988 |
28400 |
31514 |
倍率 |
1.21 |
0.71 |
2.22 |
- 4本と6本を比べると,次のようになる.
容量 | Read | Write | FileCopy | |
---|---|---|---|---|
4本 |
2GB |
56275 |
28761 |
29421 |
6本 |
2GB |
55988 |
28400 |
31514 |
倍率 |
0.99 |
0.99 |
1.07 |
- ファイルコピー性能が若干増えているが,誤差の範囲である.
- つまり,これ以上は本数を増やしても速度向上は期待できない.
- さらに,内蔵2本と外付け6本,計8本を使って計測してみる.
容量 | Read | Write | FileCopy | |
---|---|---|---|---|
単体外付け |
2GB |
46444 |
40229 |
14219 |
8本 |
2GB |
57585 |
32531 |
30985 |
倍率 |
1.24 |
0.81 |
2.18 |
- これもRAID0+1を4本の計測結果と比べてみる.
容量 | Read | Write | FileCopy | |
---|---|---|---|---|
4本 |
2GB |
56275 |
28761 |
29421 |
6本 |
2GB |
57585 |
32531 |
30985 |
倍率 |
1.02
|
1.13
|
1.05
|
- 本数を伏した事で,若干速度向上したように見えるが,計測誤差の範囲と思われる.
- やはり,これ以上は本数を増やしても速度向上は期待できない.
5.RAID5の計測
- ここでは,次の図のようにRAID5をディスク3本を使って構成する.

- 計測結果は次の通りである.
容量 | Read | Write | FileCopy | |
---|---|---|---|---|
RAID5 |
0.1GB |
56449 |
40682 |
19422 |
3本 |
0.5GB |
52254 |
31997 |
20541 |
外付け |
1GB |
54202 |
31658 |
20648 |
2GB |
55820 |
31575 |
20464 |
- わかりやすくするため,外付けディスク単体時との性能比較を行ってみる.
容量 | Read | Write | FileCopy | |
---|---|---|---|---|
単体外付け |
2GB |
46444 |
40229 |
14219 |
RAID5 3本 |
2GB |
55820 |
31575 |
20464 |
倍率 |
1.20 |
0.78 |
1.44 |
- 書き込みに関して20%ほど遅くなっているが,読み書きを行うファイルコピー性能が向上している.
- 次にRAID5で6本を使った場合を考えてみる.
- 構成は次の通り.
- この計測結果を次に示す
容量 | Read | Write | FileCopy | |
---|---|---|---|---|
RAID5 |
0.1GB |
97708 |
43666 |
14777 |
6本 |
0.5GB |
55249 |
40204 |
15489 |
外付け |
1GB |
56201 |
39861 |
15568 |
2GB |
56763 |
39657 |
15335 |
- これも比較しやすいように先ほどの結果とまとめてみる.
容量 | Read | Write | FileCopy | |
---|---|---|---|---|
単体外付け |
2GB |
46444 |
40229 |
14219 |
RAID5 6本 |
2GB |
56763 |
39657 |
15335 |
倍率 |
1.22 |
0.99 |
1.08 |
- 同時にスピンするディスクの本数が増えた事で,書き込み性能の劣化を防いでいる.
6.RAID50の計測
- RAID50の計測結果を示す.
容量 | Read | Write | FileCopy | |
---|---|---|---|---|
単体外付け |
2GB |
46444 |
40229 |
14219 |
RAID50 6本 |
2GB |
56157
|
33291
|
21817
|
倍率 |
1.21
|
0.83
|
1.53
|
- ほとんどRAID5の結果と同等と思われる.
- 次に8本で計測してみる.
容量 | Read | Write | FileCopy | |
---|---|---|---|---|
単体外付け |
2GB |
46444 |
40229 |
14219 |
RAID50 8本 |
2GB |
56912
|
37902
|
19010
|
倍率 |
1.23
|
0.94
|
1.34
|
- 書き込み性能が若干向上しているようである.
7.まとめ
- これまでの検証結果についてまとめると,次の通りになる.
Read | Write | FileCopy | コスト | 容量 | 速度チャンピオン | |
---|---|---|---|---|---|---|
単体外付け |
1.00 |
1.00 |
1.00 |
1
|
1
|
/
|
RAID0+1(4本) |
1.20 |
0.71 |
2.07 |
4
|
2
|
|
RAID0+1(6本) |
1.21 |
0.71 |
2.22 |
6
|
3
|
FileCopy |
RAID0+1(8本) |
1.24 |
0.81 |
2.18 |
8
|
4
|
Read |
RAID5(3本) |
1.20 |
0.78 |
1.44 |
3
|
2
|
|
RAID5(6本) |
1.22 |
0.99 |
1.08 |
6
|
5
|
Write |
RAID50(6本) |
1.21
|
0.83
|
1.53
|
6
|
3
|
|
RAID50(8本) |
1.23
|
0.94
|
1.34
|
8
|
4
|
- 今回の構成で選定するならば,次のようになる.
- コストパフォーマンスで選ぶ. RAID5(3本)
- コスト無視で速度で選ぶ.RAID0+1(8本)
- ファイルサイズについて
- 今回,全体の比較を2GBのファイルとしたのは,データベース利用を想定したファイルサイズを扱う時の性能差について検証したかったためである.
- ただ,同じ構成を用いた場合,500MB,1GB,2GBでそれほど性能差は見られなかった.
- UltraSCSI160カードについて
- 100MBファイルの場合,RAIDカードが128MBキャッシュを搭載しているため,どのテストでも良い結果を出した.
- つまり,この構成で言えば,OracleのREDOログファイルを1つを最大50MB程度で作成していると,キャッシュに載る確率が高く高速処理できると仮定できたりする.
- この構成のボトルネックとして
- 色々なRAID構成とディスク本数を編成してみたが,Read性能で単体ハードディスクの1.2倍程度,つまり55MB/secが最高記録であった.
- 規格上160MB/secのパフォーマンスを出す事になっているが,キャッシュを使わない部分のテストで1/3の性能しか出ないのは,今後の課題点かもしれない.
- 100MBファイルを使ったReadテストで
- 単体ディスクで100MB/secのパフォーマンスがでている.
- RAID0やRAID1(2本)で110MB/secのパフォーマンスがでている.
- と言う事で,このあたりがこのRAIDカードの処理能力の限界のように思われる.