|
|
 |
|
|
 |
| 1-1 |
HDDベンチマーク手順+性能測定結果一覧 (hdparm,dd,bonnie++) |
|
|
|
|
 |
ハードディスクのIO性能を左右する要素
システムのパフォーマンスが思うように上がらない場合、ハードディスクのIO性能がボトルネックになっているケースが多々あります。
以下に主要な項目を挙げるように、ハードディスクのIO性能は様々なシステム構成要素やその設定によって左右されます。システムのインフラ基盤で性能問題が発生することを未然に防ぐためには、サーバ環境・ストレージ環境の設計段階から、こららの項目を計画、確認しておきたいところです。
- ハードウェアRAID構成
- ソフトウェアRAID構成
- HDD単体の基礎性能 (スピンドル回転数、シーク時間等)
- パーティションのHDD上の位置 (内周部/外周部)
- チップセットの性能
- RAIDコントローラー、SCSI/IDEアダプターの性能
- BIOS設定
- Linuxカーネル
- ドライバーのバージョン
- ファームウェアのバージョン
- ファイルシステム (参照 : Linuxファイルシステムベンチマーク 第1回 )
- I/Oスケジューラ
- NFS設定 (NFSマウント領域の場合)
|
 |
|
 |
HDDベンチマーク手順
システムの環境構築が完了した後には、ハードディスクのIO性能を必ず測定しておきましょう。
ここで紹介するベンチマーク手順を実行し、測定結果の妥当性を評価することによって、ほとんどのケースでディスクIO性能に起因する性能問題を未然に検知することが可能です。
性能測定やベンチマークと聞くと、難しそうなイメージを持たれるかも知れませんが、実はそれほど難しい手順が必要な訳ではありません。次のような1行のOSコマンド+bashを用いることで、シーケンシャルアクセスの(連続した領域の) read性能・write性能を簡単に測定することができます。
- read性能の測定
# for i in [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12];do sleep 10;echo $'\n\n' $i;hdparm -t /dev/sda2;done
hdparmコマンドでread性能を測定します。
10秒間の停止を入れながら計12回実行されるので、出力結果の中でread性能を表す 「seconds = **.** MB/sec」 から平均値を算出して下さい。
出力結果の中で最大・最小の結果、それぞれ1回分を除いた計10回分を対象にして平均値を計算すると、より適切な結果が得られるはずです。
/dev/* の部分は、測定対象のパーティションにより適宜変更が必要です。
- write性能の測定
# for i in [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12];do sleep 10;echo $'\n\n' $i;date;time dd if=/dev/zero of=/tmp/hdparm_write$i.tmp ibs=1M obs=1M count=1024;date;done
ddコマンドで1GBのファイルを作成し、write性能を測定します。
10秒間の停止を入れながら計12回実行されるので、出力結果の中でwrite時間を表す 「real * m **.*** s」 から1GBのファイル作成に掛かった平均時間を算出して下さい。
出力結果の中で最大・最小の結果、それぞれ1回分を除いた計10回分を対象にして平均値を計算すると、より適切な結果が得られるはずです。
/*/hdparm_write$i.tmp の部分は、測定対象のパーティションにより適宜変更が必要です。
なお、実際に合計12GBのファイルを作成するので、パーティションの空き容量には十分ご注意下さい。
IO性能の測定にハードディスクベンチマークツール「bonnie++」を用いる方法もあります。次のように簡単なコマンドで、シーケンシャルread/write、ランダムアクセス等の性能測定を一度に行うことができます。
同ベンチマークツールの使用方法については 「bonnie++の使用方法」 のページを参照して下さい。
- bonnie++ 1.03 による測定
$ ./bonnie++ -d /tmp
bonnie++を用いてハードディスクのIO性能を測定します。
/tmp の部分は、測定対象のパーティションにより適宜変更が必要です。
|
公開日:2005/08/17 更新日:2010/01/24
|
 |
|
 |
性能測定結果一覧
実環境での測定結果を一覧にまとめました。測定値の妥当性を確認する際、参考にして頂ければと思います。(なお、記載値はIO性能を保障するものではありません。あくまで参考値としてご覧下さい。)
- 他処理が実行されないサーバ環境構築後の無風時に測定
- ファイルシステムはext3
- 上述の測定結果は10秒間隔で12回実行、最大・最小の結果、それぞれ1回分を除く10回の平均値を「MB/sec」値で記載
- bonnie++を用いた測定結果は5回実行、Sequential Input(read)Block、Sequential Output(write)Blockの最大値を「M/sec」値で記載、Random Seeks(seek)の最大値を「/sec」値で記載
- 小数点以下は切り捨て
| H/W |
HDD |
HDD I/F |
H/W RAID |
OS kernel |
上述測定 |
bonnie++ |
| read |
write |
read |
write |
seek |
OptiPlex GX115 |
40GB 7.2K * 1 (6L040J2) |
Ultra ATA/100 |
no |
RedHat 8.0 2.4.18-14 |
35 |
33 |
51 |
37 |
180 |
CentOS 3.6 2.4.21-37.EL |
40 |
30 |
39 |
39 |
191 |
Fedora Core 4 2.6.11-1.1369 [ SE Linux / non SE Linux ] |
35 |
19 |
32 |
20 |
177 |
| 39 |
22 |
32 |
22 |
181 |
OptiPlex GX240 |
40GB 7.2K * 1 (6L040J2) |
Ultra ATA/100 |
no |
RedHat 8.0 2.4.18-14 |
35 |
33 |
55 |
39 |
193 |
CentOS 3.6 2.4.21-37.EL |
40 |
33 |
38 |
41 |
195 |
Fedora Core 4 2.6.11-1.1369 [ SE Linux / non SE Linux ] |
35 |
19 |
32 |
24 |
183 |
| 39 |
24 |
39 |
25 |
186 |
| ML350 G3 |
9GB 10K * 4 |
Ultra 160 SCSI |
0 |
CentOS 3.6 2.4.21-37.ELsmp |
52 |
43 |
51 |
59 |
619 |
| 9GB 10K * 6 |
0 |
52 |
57 |
52 |
72 |
681 |
| 9GB 10K * 2 |
1 |
38 |
26 |
31 |
27 |
422 |
| 9GB 10K * 4 |
5 |
45 |
11 |
45 |
13 |
484 |
| 9GB 10K * 6 |
5 |
37 |
12 |
35 |
15 |
613 |
| 9GB 10K * 4 |
0 |
CentOS 4.4 2.6.9-42.ELsmp |
62 |
83 |
62 |
105 |
646 |
| ML110 G4 |
160GB 7.2K * 1 Cache : Disable |
SATA (Serial ATA) |
no |
CentOS 3.6 2.4.21-37.ELsmp |
74 |
10 |
73 |
7 |
196 |
| 160GB 7.2K * 1 |
no |
74 |
100 |
72 |
69 |
220 |
| 160GB 7.2K * 2 |
0 |
147 |
127 |
142 |
116 |
343 |
| 160GB 7.2K * 2 |
1 |
73 |
96 |
73 |
70 |
416 |
|
|
 |
|
 |
| H/W |
HDD |
HDD I/F |
H/W RAID |
OS kernel |
上述測定 |
bonnie++ |
| read |
write |
read |
write |
seek |
| DL360 G4 |
36GB 15K * 2 |
Ultra 320 SCSI |
0 |
Fedora Core 4 2.6.11-1.1369 _FC4smp non SE Linux |
73 |
126 |
158 |
120 |
860 |
| 1 |
90 |
63 |
88 |
61 |
935 |
Ultra 320 SCSI 128MB BBWC |
0 |
76 |
71 |
158 |
94 |
841 |
| 1 |
91 |
46 |
88 |
56 |
886 |
| DL380 G4 |
146GB 15K * 2 |
Ultra 320 SCSI |
1 |
RedHat AS 3 2.4.21-37.ELsmp |
88 |
78 |
79 |
79 |
997 |
DL380 G4 - MSA 30 |
146GB 15K * 4 |
Ultra 320 SCSI |
0 |
87 |
199 |
79 |
223 |
958 |
| 146GB 15K * 6 |
0 |
87 |
175 |
88 |
226 |
1243 |
| 146GB 15K * 2 |
1 |
89 |
90 |
83 |
82 |
965 |
| 146GB 15K * 4 |
1+0 |
88 |
135 |
90 |
126 |
1285 |
| 146GB 15K * 6 |
1+0 |
70 |
137 |
82 |
130 |
1377 |
| 146GB 15K * 4 |
5 |
81 |
47 |
52 |
45 |
1026 |
| 146GB 15K * 6 |
5 |
85 |
52 |
51 |
48 |
1183 |
| H/W |
HDD |
HDD I/F |
H/W RAID |
OS kernel |
上述測定 |
bonnie++ |
| read |
write |
read |
write |
seek |
ThinkPad X40 |
20GB 4.2K * 1 (DK14FA-20) |
Ultra ATA/100 |
no |
CentOS 3.6 2.4.21-37.EL |
13 |
12 |
11 |
14 |
85 |
| xSeries 305 |
80GB 7.2K * 2 |
Ultra ATA/100 |
1 |
RedHat AS 2.1 2.4.9-e.24 |
46 |
44 |
45 |
43 |
208 |
| xSeries 335 |
36GB 15K * 1 |
Ultra 320 SCSI |
no |
RedHat WS 2.1 2.4.9-e.12smp [ ver 2.02.01 / ver 2.05.08 ] |
72 |
11 |
98 |
9 |
395 |
| 72 |
60 |
99 |
68 |
461 |
| xSeries 335 |
36GB 10K * 2 |
Ultra 320 SCSI |
1 |
Fedora Core 3 2.6.9-1.667smp non SE Linux |
63 |
48 |
52 |
44 |
477 |
| 36GB 10K * 1 |
no |
62 |
48 |
46 |
33 |
267 |
| x3650 |
73GB 15K * 2 |
SAS (Serial Attached SCSI) |
1 |
RedHat AS 4 2.6.9-55.ELsmp |
128 |
100 |
82 |
64 |
537 |
| 300GB 15K * 4 |
1+0 |
239 |
240 |
165 |
119 |
502 |
|
補記事項
- ML110 G4にSATA HDDを搭載する構成で、Write Cacheを「Disable」に設定するとwrite性能が極端に悪いことを確認しました(一覧表の赤太字部分)。
内蔵SATA RAIDコントローラの「Create Array」、「Configure Drives」メニューからドライブを構成した場合、デフォルトの設定は「Write Cache : Disable」になるため、注意が必要です。 Write Cacheを「Enable」に設定することでwrite性能が大幅に向上することを確認しています。
- xSeries 335にRedHat WS 2.1(update無し)をインストールした構成で、write性能が極端に悪いことを確認しました(一覧表の赤太字部分)。これはOSインストール時にデフォルトで導入されるデバイスドライバーの不具合によるものです。
IBM社のサイトで公開されている「xSeries - Red Hat Enterprise Linux ES/WS 2.1 導入ガイド(2004-04-18版)」に記載の手順に従い、Fusion MPT base driver、Fusion MPT SCSI Host driver を 2.02.01 から 2.05.08 にバージョンアップすることによってこの不具合を解消しています。
- OSインストール時にSE Linuxを導入した場合、実行中のプロセス、ファイルには「セキュリティコンテキスト」が付与されます。また、ポリシーデータベースの保持、適合チェック処理のオーバーヘッドが発生することにより、システムのパフォーマンスは非導入時と比較して明らかに低下します。
|
 |
Linuxシステム構築Tips - トップページ へ戻る
bonnie++の使用方法
Linuxファイルシステムベンチマーク第1回 ext2,ext3,JFS,ReiserFS,XFS,NTFS
Linuxファイルシステムベンチマーク第2回 ext3,ext4,JFS,ReiserFS,XFS,NILFS2
RAMディスクのIO性能をチューニングに活用すべし (/dev/shm)
|
 |
|
|
この分野で参考になるホームページのリンク集
富士通 - PRIMERGY IAサーバ解説
ストレージシステムの解説の中で、HDDの基本面やRAID構成の性能比較に関する情報が充実。
日本IBM - RAIDレベル説明資料 (*PDF)
RAID-1E,RAID-5E,RAID-5EEを含む各RAIDレベルの特性を図解入りで詳細に解説した資料。
パフォーマンス面やディスク容量使用率の観点から各RAIDレベルを比較した一覧表も有り。
日本HP - HP SASベンチマーク パフォーマンステスト
HP ProLiantサーバを用いたSerial Attached SCSI(SAS)とUltra320 SCSIのベンチマーク結果を公開。
Microsoft Jetstress 2004のベンチマークでは、外付けストレージのRAIDレベル毎の性能比較有り。
日本HP - SATAハードディスクとSAS/SCSIハードディスクの違いと選定のポイント
ハードディスクの規格毎に設計思想の違いを解説。システム構成選定の参考になる。
HDDの実効速度測定
raidtoolsを用いて実環境で行ったベンチマーク結果、RAID構成の性能比較データを公開。
ITmedia - ハードディスクのアクセスが遅いような気がする
IDE HDDのDMA転送を用いたパフォーマンスチューニングに関する情報。
IDEハードディスクの転送モード一覧
ATA規格とPCI規格の転送速度に関する情報。
@IT - ハードディスクのS.M.A.R.T.情報を表示するには
ハードディスクの持つ自己診断機能 S.M.A.R.T. の情報を取得するsmartctlコマンドの解説。
@IT - 全貌を現したLinuxカーネル2.6[第1章] - ファイルI/Oの効率化
カーネル2.4、カーネル2.6のファイルI/Oの仕組みに関する解説。
turbolinux - HDDのパフォーマンスをテストする
ベンチマークツールbonnie++を用いた性能測定に関する解説。
Oracle - OPTIMAL STORAGE CONFIGURATION MADE EASY (*PDF)
Oracle社が推奨するストレージ物理設計方針 S.A.M.E に関する資料。(英語)
Yahoo!ニュース - 外部記憶装置
HDD、ストレージ関連の最新ニュースを掲載。ハードディスクの誕生等、歴史の解説も有り。
|
 |
 |