AWS EC2 Amazon Linuxでのddコマンド、ベンチマークツール(fio、bonnie++)を用いたディスクアクセス速度測定方法

AWS,EC2,Programming,Shell Script

AWS Lambda PythonでLambda関数実行サーバのディスクアクセス速度を簡易測定する」でAWS Lambda Python上でディスクアクセスを簡易的に測定する方法を記載しましたが、yumでパッケージをインストールでき測定時間に制限が無いAmazon Linuxではより幅広くベンチマークツールを用いてディスクアクセス速度を測定することが可能です。

今回はAWS Lambdaの簡易測定で用いたddコマンドとLinuxで代表的なディスクアクセスベンチマークツールのfio、bonnie++での測定について備忘録としてまとめてみました。

AWS EC2 Amazon Linuxでのddコマンド、ベンチマークツール(fio、bonnie++)を用いたディスクアクセス速度測定方法

ddコマンドを利用したディスクアクセス速度の測定

ddコマンドでのディスクアクセス速度測定実行例

書き込み速度のみの測定

dd bs=1M count=1024 if=/dev/zero of=/tmp/disktest oflag=direct

測定ファイルが残るため削除しておく

rm -f /tmp/disktest

ハードディスクベンチマークツールfioを利用したディスクアクセス速度の測定

fioのインストール

yum install -y fio

fioコマンドの実行例

読み込み速度の測定

fio --directory=/tmp --name fio_test_file --direct=1 --rw=randread --bs=16k --size=1G --numjobs=1 --time_based --runtime=180 --group_reporting --norandommap

fioの測定ファイルが残るため削除しておく

rm -f /tmp/fio_test_file*

書き込み速度の測定

fio --directory=/tmp --name fio_test_file --direct=1 --rw=randwrite --bs=16k --size=1G --numjobs=1 --time_based --runtime=180 --group_reporting --norandommap

fioの測定ファイルが残るため削除しておく

rm -f /tmp/fio_test_file*

ハードディスクベンチマークツールbonnie++を利用したディスクアクセス速度の測定

bonnie++のインストール

yum install -y bonnie++

bonnie++コマンドの実行例

読み込み速度、書き込み速度の両方を測定

bonnie++ -d /tmp/ -u root -n 256:1024:1024:16

bonnie++の測定ファイルは基本的には残らないが、残っている場合は削除しておく

rm -f /tmp/Bonnie.*

出力結果の見方

  • Sequential Output:シーケンシャルライト(連続書き込み)
  • Per Cha:キャラクタ単位でのアクセス
    Block:ブロック単位でのアクセス

  • Sequential Input:シーケンシャルリード(連続読み込み)
  • Per Cha:キャラクタ単位でのアクセス
    Block:ブロック単位でのアクセス

  • Random:ランダムアクセス
  • Sequential Create:シーケンシャルアクセス(連続アクセス)によるファイルの作成、読み込み、削除
  • Random Create:ランダムアクセスによるファイルの作成、読み込み、削除
Reference: Tech Blog citing related sources