fio出力には2つの(異なる)BW番号があります!

fio出力には2つの(異なる)BW番号があります!

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

これはfio ドキュメントの「出力説明」セクション:

読み/書き/つぶし

[...] 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バージョンの警告を参照)。

おすすめ記事