2

みんな

最近、ディスクのパフォーマンスをテストするために、fio を使用していくつかのテストを行いました。direct io と O_SYNC を使用するように fio を構成しました。以下は私の構成です。

[global]
invalidate=0    # mandatory
direct=1
sync=1
thread=1
norandommap=1
runtime=10000
time_based=1

[write4k-rand]
stonewall
group_reporting
bs=4k
size=1g
rw=randwrite
numjobs=1
iodepth=1

ただし、fio の実行中に iostat を介してディスク パフォーマンスを監視すると、次の出力が表示されました。

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.12    0.00    0.08    3.81    0.00   95.98

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00    39.50    0.00  176.00     0.00  1648.00     9.36     1.02    5.81   5.65  99.50

wrqm/s は 39.50 です。fio を停止すると、wrqm/s は 0 になります。O_SYNC でダイレクト io を実行しているのに、まだ io マージがあるのはなぜですか? 私を助けてください。

ありがとうございました:-)

4

1 に答える 1