IometerによるディスクI/Oパフォーマンス確認

オペレーティングシステム: すべての 32-bit MS Windows (95/98/NT/2000/XP),
MacOSX, Linux, その他, SunOS/Solaris, Windows NT/2000, Windows XP
Iometer プロジェクト日本語トップページ – SourceForge.JP
Iometer Project

Windows32bit版
http://sourceforge.jp/projects/sfnet_iometer/downloads/iometer-devel/1.1.0-rc1/iometer-1.1.0-rc1-win32.i386-bin.zip/

Windows64bit版
http://sourceforge.jp/projects/sfnet_iometer/downloads/iometer-devel/1.1.0-rc1/iometer-1.1.0-rc1-win64.x86_64-bin.zip/

Linux版
http://sourceforge.jp/projects/sfnet_iometer/downloads/iometer-devel/1.1.0-rc1/iometer-1.1.0-rc1-src.tar.bz2/

以前はIntelのサイトからダウンロード出来たが、現在こちらでダウンロード出来るようです。
インテルは既に開発をやめて、OSDLに提供されたようです。
このツールを利用していたのはベンダーに勤めていた時なので、認識していませんでした。

——————————-
It was originally developed by the Intel Corporation and announced at
the Intel Developers Forum (IDF) on February 17, 1998 – since then it
got wide spread within the industry.

Meanwhile Intel has discontinued to work on Iometer and it was given to the
Open Source Development Lab (OSDL). In November 2001, a project was
registered at SourceForge.net and an initial drop was provided.
——————————-

Windows版をダウンロードして展開
http://sourceforge.jp/projects/sfnet_iometer/downloads/iometer-devel/1.1.0-rc1/iometer-1.1.0-rc1-win32.i386-bin.zip/

※デスクトップなどの日本語のパスがあるフォルダーに置いたら起動時に
エラーが表示されたので日本語が無いパスに移動した。

実行すると以下のような管理画面とコンソールが表示される。
コンソール

※こちらで、サービス起動してPortリッスンして管理画面などのGUIへサービスを提供しているのかな。

管理画面

Worker
iometerを動作させるWindows上で認識できるCPU数と同じだけ表示される。(追加可)

Targets
テスト対象のロジカルドライブを選択(×)

Maximum Disk Size
Sectors単位で指定。指定しない場合、ハードディスクの空き容量すべてが使用される。
512byte/Sector
iobw.tst(4.76 GB、5,120,000,000 バイト)のテストファイルが自動作成される。
ストレステスト実行後自動で削除されません。

セクターの確認(fsutil fsinfo ntfsinfo C:)
sector
今回は、1GBのファイルでテスト(2000000 Sector)で検証。

# of Outstanding I/Os
Queue Depth:ストレージの単純性能値を計るにはDefault(1)で良さそう。

Starting Disk Sector
使用する場合は、windowsのコマンド(fsutil fsinfo ntfsinfo C:)
によって計算するそうだが、今回はDefaultのまま利用。

Network Targets
今回はローカルなので使用しません。

Access Specifications
こちらにストレステストケースを定義します。
Assigned Access Specifications
定義したテストケースが順番に実行され、テストケースは編集する事が可能です。

カスタマイズ
読み・書き込み、Worker、ブロックサイズ(512B:1KB:2KB:4KB:8KB:16KB:32KB:64KB)

Results Display
ストレステストの結果サマリーを確認。

Test Setup
Run Time
Assigned Access Specificationsで定義した1つのテストケースでサンプリング対象とする実行時間
Ramp Up Time
ストレステストケース実行の事前準備時間

全てのWorkerに設定を入れたらテストを実行してみる。
※実行すると結果を保存する為のCSVファイル(results.csv)を保存する場所を聞かれるので、
適当に場所を選んで保存を選択すると実行開始される。

ファイルが作成されている。(テスト後にマニュアル削除)

実行結果をresultタブでも見る事が出来ます。

CSVファイル(results.csv)の中には詳細の数値データが記録されている。

参考
ベンチマーク:Iometerの設定方法・使用方法、ストレージパフォーマンステスト


HDDの速度を測りたい場合は、hdparm コマンドを使用して調査する事が出来ます。

[root@colinux data]# /bin/df -h
Filesystem サイズ 使用 残り 使用% マウント位置
/dev/cobd0 3.8G 2.6G 1009M 73% /
tmpfs 126M 0 126M 0% /dev/shm
/dev/shm 32M 0 32M 0% /usr/local/tmp
[root@colinux data]# /sbin/hdparm -v /dev/cobd0

/dev/cobd0:
readonly = 0 (off)
readahead = 256 (on)
HDIO_GETGEO failed: Inappropriate ioctl for device
[root@colinux data]# /sbin/hdparm -t /dev/cobd0

/dev/cobd0:
Timing buffered disk reads: 74 MB in 3.07 seconds = 24.10 MB/sec

hdparm

-T
ベンチマーク及び比較目的で、キャッシュ読み込みを測定する。
有意な結果を得るためには、少なくとも数メガバイトの空きメモリがあり、
他にアクティブなプロセスがない状態で、この操作を 2, 3 回繰り返すべきである。
これは、ディスクアクセスなしに、Linux のバッファキャッシュから直接読み出す速度を表示する。
これは、テスト環境下でのプロセッサ・キャッシュ・メモリの基本的な処理能力を測定するものである。
-t フラグが同時に指定された場合には、 -T の出力を元にした補正係数が -t 操作の結果に加味される。

-t
ベンチマーク及び比較目的で、デバイス読み込みを測定する。
有意な結果を得るためには、少なくとも数メガバイトの空きメモリがあり、
他にアクティブなプロセスがない状態で、この操作を 2, 3 回繰り返すべきである。
これはデータのキャッシュがない状態から、バッファキャッシュを通してディスクを読み出す
速度を表示する。これは、ファイルシステムのオーバーヘッドなしに、そのドライブが
Linux でどれだけ連続データ読み込み速度を維持できるかを測定するものである。
測定の正確さを上げたいのであれば、 -t の実行の間に BLKFLSBUF ioctl を使って
バッファキャッシュをクリアする。 -T フラグが同時に指定された場合には、 -T の出力
を元にした補正係数が -t 操作の結果に加味される。

hdparm_t

ハードディスクの設定の表示や変更は、hdparmコマンドを使って行うことができる。
ただし変更すれば必ず良い結果がもたらされるというわけではなく、man hdparm
を実行すればhdparmコマンドの全オプションを見ることができ、危険なオプションについては
「DANGEROUS」と表記されている。

※最初に試す最適化は、転送の高速化のためにドライブが直接メモリ
にデータを保存できるようにするDMA(Direct Memory Access)を使用する。
/sbin/hdparm -d1 /dev/hda
※multcountは、一度の操作で読み取ることのできるセクタ数を示すパラメータ。

hdparm_man

最小値と最大値を捨て、残りの値の平均を取り適切な測定結果を得る。
for ((i=0;i<6;i++)) do /sbin/hdparm -t /dev/cobd0; done

hdparm_loop

    参考サイト


Linuxのパフォーマンスを改善する3つのTips


ファイルシステムのアクセスを最適化する


hdparm でハードディスクを高速化する


HDDのアクセスが妙に遅く感じるときは