さまざまなオプションでfioツールを閲覧しています。読み書きのワークロードを共有したいので、以下の作業ファイルをfioに入力してください。
[read-4K-write-64K]
blocksize=4K,64K,
rw=readwrite
rwmixread=50
size=10M
filename=readwritefile
出力スニペット:
read: IOPS=11.0k, BW=42.0MiB/s (45.1MB/s)(616KiB/14msec)
write: IOPS=10.8k, BW=674MiB/s (707MB/s)(9664KiB/14msec)
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
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%
issued rwts: total=154,151,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=1
Run status group 0 (all jobs):
READ: bw=42.0MiB/s (45.1MB/s), 42.0MiB/s-42.0MiB/s (45.1MB/s-45.1MB/s), io=616KiB (631kB), run=14-14msec
WRITE: bw=674MiB/s (707MB/s), 674MiB/s-674MiB/s (707MB/s-707MB/s), io=9664KiB (9896kB), run=14-14msec
このオプションを選択する理由rwmixread=50ファイルを読み書きするためのioサイズを(約)5kに設定していませんか?
代わりに、コードスニペットでは、616KiBが読み取りに使用され、9664KiBが書き込みに使用されていることがわかります。
実際の効果はどうですか?読み取りと書き込みの混合そして混在した書き込みを読み書きするテスト作業量に関して。
ありがとうとよろしくお願いします、モハン
答え1
Arg、質問が多い質問です!
rwmixread = 50 [..]オプションがファイルの読み取りと書き込みのためのioサイズを(およそ)5kに設定しない[なぜ]理由は何ですか?
rwmixread
完了するために読み取る必要があるI / O比を指定するだけです。。残念ながら、「5k」という数字をどこで得たのかわかりません。説明してもらえますか?数学をしてみてください:
10M = 10485760 bytes
(10485760 / ( (4 * 1024) + (64 * 1024) )) = 150
したがって、各入出力方向タイプに対して約150回を実行する必要があります。
issued rwts: total=154,151,0,0 short=0,0,0,0 dropped=0,0,0,0
fioはこの目標から遠くありません。追加計算:
154 * (4 * 1024) = 630784 = 616KBytes
したがって、問題が何であるかは明らかではありません。数字は要求されたさまざまなブロックサイズに対応するようです(すべてのI / Oは10 MBのI / Oが完了した後に完了する必要があります)。
rwmixreadとrwmixwriteは実際にテストワークロードにどのような影響を与えますか?
これらのオプションは、ワークロードの読み取りと書き込みの比率を変更します。ただし、読み取り用のブロックサイズが書き込み用のブロックサイズより大きい場合(またはその逆)、固定サイズ領域でI / Oを実行すると、各方向で完了する合計データ量が異なります。