fio 出力は、2 つの位置に 2 つの帯域幅番号 (読み取りと書き込み用) を表示します。これら2つの数字は何を表していますか?スループットテストにはどちらを考慮する必要がありますが、他のものはどのような目的で考慮する必要がありますか?
1 {JOB}:{1}_{4k}_{5}: (g=0): rw=randrw, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodep th=32
2 ...
3 fio-3.1
4 Starting 16 threads
5
6 {JOB}:{1}_{4k}_{5}: (groupid=0, jobs=16): err= 0: pid=143919: Thu Oct 10 18:35:14 2019
7 read: IOPS=50.1k, BW=196MiB/s (205MB/s)(34.4GiB/180002msec)
8 slat (nsec): min=1210, max=191233, avg=3335.76, stdev=1810.98
9 clat (usec): min=166, max=16660, avg=695.21, stdev=319.44
10 lat (usec): min=169, max=16662, avg=698.62, stdev=319.39
11 clat percentiles (usec):
12 | 1.00th=[ 338], 5.00th=[ 396], 10.00th=[ 433], 20.00th=[ 482],
13 | 30.00th=[ 515], 40.00th=[ 537], 50.00th=[ 570], 60.00th=[ 685],
14 | 70.00th=[ 832], 80.00th=[ 914], 90.00th=[ 1012], 95.00th=[ 1188],
15 | 99.00th=[ 1532], 99.50th=[ 2057], 99.90th=[ 3490], 99.95th=[ 3884],
16 | 99.99th=[ 5997]
17 bw ( KiB/s): min= 5883, max=16873, per=6.26%, avg=12545.77, stdev=3041.02, samples=5760
18 iops : min= 1470, max= 4218, avg=3136.15, stdev=760.26, samples=5760
19 write: IOPS=952k, BW=3720MiB/s (3901MB/s)(654GiB/180002msec)
20 slat (nsec): min=1192, max=927014, avg=3640.66, stdev=1926.60
21 clat (usec): min=98, max=10023, avg=496.01, stdev=170.79
22 lat (usec): min=100, max=10025, avg=499.72, stdev=170.69
23 clat percentiles (usec):
24 | 1.00th=[ 273], 5.00th=[ 326], 10.00th=[ 355], 20.00th=[ 388],
25 | 30.00th=[ 420], 40.00th=[ 445], 50.00th=[ 457], 60.00th=[ 474],
26 | 70.00th=[ 486], 80.00th=[ 510], 90.00th=[ 865], 95.00th=[ 930],
27 | 99.00th=[ 1004], 99.50th=[ 1029], 99.90th=[ 1188], 99.95th=[ 1287],
28 | 99.99th=[ 1467]
29 bw ( KiB/s): min=121170, max=307136, per=6.26%, avg=238474.82, stdev=57541.32, samples=5760
30 iops : min=30292, max=76784, avg=59618.41, stdev=14385.36, samples=5760
31 lat (usec) : 100=0.01%, 250=0.25%, 500=73.65%, 750=12.84%, 1000=11.71%
32 lat (msec) : 2=1.52%, 4=0.02%, 10=0.01%, 20=0.01%
33 cpu : usr=6.39%, sys=33.77%, ctx=40608436, majf=0, minf=11562
34 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=100.0%, >=64=0.0%
35 submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
36 complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.1%, 64=0.0%, >=64=0.0%
37 issued rwt: total=9019565,171442027,0, short=0,0,0, dropped=0,0,0
38 latency : target=0, window=0, percentile=100.00%, depth=32
39
40 Run status group 0 (all jobs):
41 READ: bw=196MiB/s (205MB/s), 196MiB/s-196MiB/s (205MB/s-205MB/s), io=34.4GiB (36.9GB), run=180002-180002msec
42 WRITE: bw=3720MiB/s (3901MB/s), 3720MiB/s-3720MiB/s (3901MB/s-3901MB/s), io=654GiB (702GB), run=180002-180002mse c
43
44 Disk stats (read/write):
45 nvme1n1: ios=9013394/171326957, merge=0/0, ticks=6201303/82738341, in_queue=103287914, util=100.00%
たとえば、読み取りの場合、関連する行は次のようになります。
7: read: IOPS=50.1k, BW=196MiB/s (205MB/s)(34.4GiB/180002msec)
17: bw ( KiB/s): min= 5883, max=16873, per=6.26%, avg=12545.77, stdev=3041.02, samples=5760
41: READ: bw=196MiB/s (205MB/s), 196MiB/s-196MiB/s (205MB/s-205MB/s), io=34.4GiB (36.9GB), run=180002-180002msec
7行目の「BW」は何を意味し、17行目の「bw」は何を意味しますか?彼らはどう違いますか?スループットテストのために何を考慮する必要がありますか?
ベストアンサー1
読み/書き/つぶし
[...] BW は平均帯域幅速度で、2 の累乗(10 の累乗)で表されます。
[...]
重量
サンプルベースの帯域幅統計
1つ(BW)は、ジョブのtotal I/O / time
実行中に一定期間収集されたサンプルを平均して計算された別のもの(bw)です(samples=5760
行末を参照)。以前のバージョンのfioのバグのために複数のジョブを同時に実行すると、サンプルデータが非常に奇妙に見えることがあります。最新のfioを使用すると、より合理的な結果を得ることができます。https://github.com/axboe/fio/releases最新バージョンを入手するには)。
スループットテストにはどちらを考慮する必要がありますが、他のものはどのような目的で考慮する必要がありますか?
BWは一般的に見たいものですが、bwのサンプリング統計(例:max、min、stdev)は何かが深刻に間違っているという強力な警告信号になる可能性があります(ただし、上記の以前のfioバージョンの警告を参照)。