fio(Flexible IO Tester)
http://freecode.com/projects/fio/
http://git.kernel.dk/?p=fio.git;a=summary
| filename | 指定したファイルパスにテスト用のファイルを作成する | 
| direct | trueの場合にはnon-buffered I/Oで計測する。 OSバッファを使いたくない場合は1を指定 | 
| rw | I/Oのパターンを指定。 read(シーケンシャルread)、randread(ランダムread) write(シーケンシャルwrite)、randwrite(ランダムwrite) | 
| bs | I/Oで利用するブロックのサイズ プログラムのI/Oの単位に合わせる。分からなければ、straceなどで writeのサイズを確認する PostgreSQLのブロックサイズ(ページサイズ)は、8KBです。 Hadoop(HDFS)のブロックサイズは、64MBや128MBが使用されます。 | 
| size | I/Oで利用する合計のサイズ | 
| numjobs | パフォーマンス計測時のプロセス/ストッドの数 プログラムで並列度を指定できるものは、並列度(numjobs)を変えて測定 並列度が低すぎるとディスクの性能を引き出せません。 逆に高すぎても、I/O待ちが発生してベストな性能は出せません。 | 
| runtime | 実行時間の限度。秒単位。 | 
| group_reporting | 有効にするとnumjobsで複数処理した結果をまとめて表示する | 
| name | ジョブの名前 | 
| io | 全体のIO量 | 
| bw | 帯域幅、スループット | 
| iops | IOPS | 
| runt | 実行時間(run time) | 
# シーケンシャルリード fio -filename=/tmp/test2g -direct=1 -rw=read -bs=4k -size=2G -numjobs=64 -runtime=60 -group_reporting -name=file1 # シーケンシャルライト fio -filename=/tmp/test2g -direct=1 -rw=write -bs=4k -size=2G -numjobs=64 -runtime=60 -group_reporting -name=file1 # ランダムリード fio -filename=/tmp/test2g -direct=1 -rw=randread -bs=4k -size=2G -numjobs=64 -runtime=60 -group_reporting -name=file1 # ランダムライト fio -filename=/tmp/test2g -direct=1 -rw=randwrite -bs=4k -size=2G -numjobs=64 -runtime=60 -group_reporting -name=file1
#シーケンシャルリード fio -filename=/tmp/test2g -direct=1 -rw=read -bs=32m -size=2G -numjobs=16 -runtime=60 -group_reporting -name=file1 # シーケンシャルライト fio -filename=/tmp/test2g -direct=1 -rw=write -bs=32m -size=2G -numjobs=16 -runtime=60 -group_reporting -name=file1 # ランダムリード fio -filename=/tmp/test2g -direct=1 -rw=randread -bs=32m -size=2G -numjobs=16 -runtime=60 -group_reporting -name=file1 # ランダムライト fio -filename=/tmp/test2g -direct=1 -rw=randwrite -bs=32m -size=2G -numjobs=16 -runtime=60 -group_reporting -name=file1
fio -direct=1 -iodepth=256 -rw=randwrite -ioengine=libaio -bs=4k =size=10G -numjobs=8 -runtime=300 -group_reporting -filename=/mnt/test -name=RW_Testing