私はlibaioを使ってNVMe SSDのIOPSをベンチマークし、出力で興味深い観察を見つけました。IOの提出とIOの完了。 (fioの入力パラメータについて尋ねるものではありませんiodepth
。これに対する投稿がすでにあるためです。)
私が使用するサンプルコマンドは次のとおりです。fio --name=iops_rw --ioengine=libaio --iodepth=32 --rw=randwrite --bs=4k --size=1G --numjobs=8 --runtime=30s --time_based --group_reporting --filename=/dev/nvme0n1
fio 出力が連続して表示されます。IOの提出とIOの完了値は[1-4]の範囲にあり、次のように観察されます。
IO depths : ........
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
- まず、[1、4]の範囲内の値が何であるか、そしてこの出力をどのように解釈するのかわかりません。
- これが私のNVMe SSDが「より良い」fioパラメータを使用してより高いIOPSパフォーマンスを処理できることを示しているかもしれません。
- また、この観察がfioパラメータを調整してIOPSのパフォーマンスを向上させるためにどのような洞察を提供できるか疑問に思います。
パラメータを変更してみましたが、numjobs
IO送信とIO完了で同じ結果が出ました。また、ブロックサイズをより大きな値に調整してみましたが、bs
動作にほとんど違いはありませんでした(ほとんどのIOコミットとIO完了はまだ[1、4]の範囲にありました)。