fioの「レイアウトIOファイル」について

fioの「レイアウトIOファイル」について

「レイアウトIOファイル」で実際に何が起こっているのか理解しようとしています。 rawブロックデバイスにbtrfsをインストールし、次の設定でfioを実行するたびにレイアウトステップを完了するのに約40分かかり、実際のfioジョブがIOを実行し始めます。

runtime=600
rw=readwrite
rwmixwrite=90
random_distribution=random
percentage_random=100
size=50%
iodepth=16
ioengine=libaio
direct=1
bs=4096
time_based=1
fallocate=none
directory=/tmp/fs_d765f32a-1a34-11eb-8644-61649a50b743
write_lat_log=/tmp/ll
log_avg_msec=500
log_unix_epoch=1
log_max_value=1
filesize=8GB

次の行が表示されたら、コマンドは15:19:51で始まり、レイアウトファイルは15:58:31で終わりました(レイアウトファイルは約40分かかります)。ソースコードを見てみましたが、プログラムがファイルを拡張することを決定するたびにレイアウトが発生しているようです。私はfio設定に読み込みがあるときにのみレイアウトが発生すると仮定していますが、この時点ではなぜ40分かかるのかは少し不明です。ここで実際に何が起こっているのか調べてください。

2020-10-29 15:19:51,583 [MainThread] - root - DEBUG - Fio job output: job-0: (g=0): rw=rw, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=16
fio-3.16
Starting 1 process
job-0: Laying out IO file (1 file / 4096MiB)

2020-10-29 15:58:31,896 [MainThread] - root - DEBUG - Fio job output:
job-0: (groupid=0, jobs=1): err= 0: pid=70: Thu Oct 29 22:58:31 2020
....
....

関連情報