システムパフォーマンス入門

パフォーマンスに詳しいインフラに憧れて

ユーザ用ツール

サイト用ツール


· 最終更新: 2022/11/19 by kurihara


fioでディスクIOのパフォーマンスを確認(おすすめ)

fioとは

fioオプションの説明

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)


実行例

IOPSの性能を計測するためにブロックサイズを4KB固定にする

# シーケンシャルリード
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


参考


· 最終更新: 2022/11/19 by kurihara

ページ用ツール