Flexible I/O Tester development
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@kernel.dk>
To: Gavin Martin <gavin.martin@seagate.com>,
	"fio@vger.kernel.org" <fio@vger.kernel.org>
Subject: Re: Verify concentrated on first few drives
Date: Sat, 20 Jun 2015 12:53:36 -0400	[thread overview]
Message-ID: <55859A90.1060604@kernel.dk> (raw)
In-Reply-To: <CAFSgMbgY7LHJdaVNb=7Eub=vNohVPemjmSNs_SOFmb8y8eK7Aw@mail.gmail.com>

On 06/17/2015 10:45 AM, Gavin Martin wrote:
> Hi,
>
> Running FIO (2.2.8) with the verify option I see that it seems to
> concentrate the Reads (from the Verify) on the first few drives and
> tails off as you run more drives, as reported in the Disk Stats.
>
> Is this normal? Does the Verify follow the Round-Robin approach of
> normal workloads?
>
> Config file:-
> [global]
> ioengine=libaio
> iodepth=2
> direct=1
> runtime=30s
> time_based
> bs=64K
> verify=meta
> verify_backlog=32
> verify_state_save=0
> stonewall
> norandommap
> atomic=1
>
> filename=/dev/sdb
> filename=/dev/sdc
> filename=/dev/sdd
> filename=/dev/sde
> filename=/dev/sdf
> filename=/dev/sdg
> filename=/dev/sdh
> filename=/dev/sdi
> filename=/dev/sdj
> filename=/dev/sdk
> filename=/dev/sdl
> filename=/dev/sdm
> filename=/dev/sdn
> filename=/dev/sdo
> filename=/dev/sdp
> filename=/dev/sdq
> filename=/dev/sdr
> filename=/dev/sds
> filename=/dev/sdt
> filename=/dev/sdu
> filename=/dev/sdv
> filename=/dev/sdw
> filename=/dev/sdx
> filename=/dev/sdy
>
> [RUN01]
> rw=randwrite
> do_verify=1
>
> Output:-
> RUN01: (g=0): rw=randwrite, bs=64K-64K/64K-64K/64K-64K,
> ioengine=libaio, iodepth=2
> fio-2.2.8
> Starting 1 process
> Jobs: 1 (f=24): [w(1)] [100.0% done] [10199KB/9816KB/0KB /s]
> [159/153/0 iops] [eta 00m:00s]
> RUN01: (groupid=0, jobs=1): err= 0: pid=22749: Wed Jun 17 10:28:23 2015
>    write: io=296000KB, bw=9862.5KB/s, iops=154, runt= 30013msec
>      slat (usec): min=10, max=86, avg=32.74, stdev= 8.18
>      clat (msec): min=1, max=50, avg=11.80, stdev= 3.94
>       lat (msec): min=2, max=50, avg=11.83, stdev= 3.94
>      clat percentiles (usec):
>       |  1.00th=[ 3120],  5.00th=[ 9408], 10.00th=[10432], 20.00th=[10816],
>       | 30.00th=[10944], 40.00th=[11072], 50.00th=[11200], 60.00th=[11328],
>       | 70.00th=[11456], 80.00th=[11584], 90.00th=[12480], 95.00th=[19328],
>       | 99.00th=[30336], 99.50th=[33024], 99.90th=[44288], 99.95th=[44800],
>       | 99.99th=[50432]
>      bw (KB  /s): min= 8431, max=11241, per=100.00%, avg=9876.58, stdev=453.15
>      lat (usec) : 250=6.93%, 500=36.19%, 750=3.56%, 1000=0.17%
>      lat (msec) : 2=0.19%, 4=1.19%, 10=4.42%, 20=44.42%, 50=2.91%
>      lat (msec) : 100=0.01%
>    cpu          : usr=0.68%, sys=0.99%, ctx=9001, majf=0, minf=87
>    IO depths    : 1=0.1%, 2=100.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    : total=r=4608/w=4625/d=0, short=r=0/w=0/d=0, drop=r=0/w=0/d=0
>       latency   : target=0, window=0, percentile=100.00%, depth=2
>
> Run status group 0 (all jobs):
>    WRITE: io=296000KB, aggrb=9862KB/s, minb=9862KB/s, maxb=9862KB/s,
> mint=30013msec, maxt=30013msec
>
> Disk stats (read/write):
>    sdb: ios=274/192, merge=0/0, ticks=305/2299, in_queue=2604, util=8.65%
>    sdc: ios=225/192, merge=0/0, ticks=359/2232, in_queue=2591, util=8.61%
>    sdd: ios=191/192, merge=0/0, ticks=222/2278, in_queue=2500, util=8.31%
>    sde: ios=217/192, merge=0/0, ticks=509/2235, in_queue=2744, util=9.12%
>    sdf: ios=191/192, merge=0/0, ticks=199/2209, in_queue=2408, util=8.01%
>    sdg: ios=191/192, merge=0/0, ticks=390/2254, in_queue=2644, util=8.80%
>    sdh: ios=191/192, merge=0/0, ticks=122/2339, in_queue=2461, util=8.19%
>    sdi: ios=191/192, merge=0/0, ticks=123/2270, in_queue=2393, util=7.95%
>    sdj: ios=191/191, merge=0/0, ticks=107/2188, in_queue=2302, util=7.64%
>    sdk: ios=191/191, merge=0/0, ticks=82/2168, in_queue=2255, util=7.51%
>    sdl: ios=191/191, merge=0/0, ticks=134/2322, in_queue=2456, util=8.17%
>    sdm: ios=191/191, merge=0/0, ticks=131/2152, in_queue=2283, util=7.61%
>    sdn: ios=191/191, merge=0/0, ticks=127/2288, in_queue=2415, util=8.05%
>    sdo: ios=191/191, merge=0/0, ticks=134/2312, in_queue=2446, util=8.13%
>    sdp: ios=191/191, merge=0/0, ticks=128/2258, in_queue=2386, util=7.95%
>    sdq: ios=191/191, merge=0/0, ticks=292/2296, in_queue=2587, util=8.49%
>    sdr: ios=191/191, merge=0/0, ticks=189/2341, in_queue=2530, util=8.27%
>    sds: ios=191/191, merge=0/0, ticks=167/2379, in_queue=2545, util=8.47%
>    sdt: ios=191/191, merge=0/0, ticks=297/2286, in_queue=2583, util=8.39%
>    sdu: ios=191/191, merge=0/0, ticks=284/2182, in_queue=2465, util=8.15%
>    sdv: ios=189/191, merge=0/0, ticks=191/2134, in_queue=2325, util=7.72%
>    sdw: ios=189/191, merge=0/0, ticks=189/2337, in_queue=2526, util=8.36%
>    sdx: ios=189/191, merge=0/0, ticks=122/2291, in_queue=2413, util=8.06%
>    sdy: ios=189/191, merge=0/0, ticks=195/2164, in_queue=2359, util=7.86%
>
> If I increase the iodepth to 8 it gets even worse. The Writes
> and utilisation
>   has increased, but the last few drives are not going through any verification:-
>
> Disk stats (read/write):
>    sdb: ios=970/899, merge=0/0, ticks=624/9107, in_queue=9736, util=32.25%
>    sdc: ios=901/899, merge=0/0, ticks=622/8927, in_queue=9549, util=31.58%
>    sdd: ios=899/899, merge=0/0, ticks=679/9151, in_queue=9831, util=32.60%
>    sde: ios=899/899, merge=0/0, ticks=657/8991, in_queue=9652, util=32.02%
>    sdf: ios=899/900, merge=0/0, ticks=591/9044, in_queue=9634, util=31.96%
>    sdg: ios=899/899, merge=0/0, ticks=543/9260, in_queue=9805, util=32.56%
>    sdh: ios=899/899, merge=0/0, ticks=547/9435, in_queue=9982, util=32.82%
>    sdi: ios=899/899, merge=0/0, ticks=488/9365, in_queue=9853, util=32.68%
>    sdj: ios=899/899, merge=0/0, ticks=422/9349, in_queue=9771, util=32.46%
>    sdk: ios=899/899, merge=0/0, ticks=577/9414, in_queue=9991, util=33.11%
>    sdl: ios=899/899, merge=0/0, ticks=507/9199, in_queue=9703, util=32.19%
>    sdm: ios=899/899, merge=0/0, ticks=495/9125, in_queue=9619, util=31.92%
>    sdn: ios=899/899, merge=0/0, ticks=485/9103, in_queue=9587, util=31.82%
>    sdo: ios=899/899, merge=0/0, ticks=501/9240, in_queue=9741, util=32.23%
>    sdp: ios=899/899, merge=0/0, ticks=477/9110, in_queue=9586, util=31.76%
>    sdq: ios=899/899, merge=0/0, ticks=557/9169, in_queue=9726, util=32.11%
>    sdr: ios=899/899, merge=0/0, ticks=545/11115, in_queue=11656, util=35.65%
>    sds: ios=899/899, merge=0/0, ticks=1266/11542, in_queue=12808, util=36.97%
>    sdt: ios=330/899, merge=0/0, ticks=363/9283, in_queue=9644, util=31.43%
>    sdu: ios=0/899, merge=0/0, ticks=0/9211, in_queue=9209, util=30.77%
>    sdv: ios=0/899, merge=0/0, ticks=0/9232, in_queue=9231, util=30.86%
>    sdw: ios=0/899, merge=0/0, ticks=0/9470, in_queue=9470, util=31.68%
>    sdx: ios=0/899, merge=0/0, ticks=0/9342, in_queue=9342, util=31.26%
>    sdy: ios=0/898, merge=0/0, ticks=0/9174, in_queue=9181, util=30.74%
>
> Have I missed an option or have the wrong one in my config file that
> could be causing this?

That does look very odd. I'll take a look at this. As a temporary 
work-around, you could have separate jobs for each of the devices. Or 
try using your original job file, but add:

verifysort=0

I suspect the latter would also fix it for you.

-- 
Jens Axboe



  reply	other threads:[~2015-06-20 16:53 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-17 14:45 Verify concentrated on first few drives Gavin Martin
2015-06-20 16:53 ` Jens Axboe [this message]
2015-06-20 17:01   ` Jens Axboe
2015-06-22  8:41     ` Gavin Martin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55859A90.1060604@kernel.dk \
    --to=axboe@kernel.dk \
    --cc=fio@vger.kernel.org \
    --cc=gavin.martin@seagate.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox