From: Dave Sullivan <dsulliva@redhat.com>
To: linux-lvm@redhat.com
Subject: Re: [linux-lvm] Tracing IO requests?
Date: Wed, 02 Mar 2011 18:00:53 -0500 [thread overview]
Message-ID: <4D6ECC25.8010502@redhat.com> (raw)
In-Reply-To: <4D6EC275.6070009@bartk.us>
http://sourceware.org/systemtap/examples/
look at traceio.stp and disktop.stp
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html/SystemTap_Beginners_Guide/index.html
On 03/02/2011 05:19 PM, Bart Kus wrote:
> On 3/2/2011 12:13 PM, Jonathan Tripathy wrote:
>> I once used a tool called dstat. dstat has modules which can tell you
>> which processes are using disk IO. I haven�t used dstat in a while so
>> maybe someone else can chime in
>
> I know the IO is only being caused by a "cp -a" command, but the issue
> is why all the reads? It should be 99% writes. Another thing I
> noticed is the average request size is pretty small:
>
> 14:06:20 DEV tps rd_sec/s wr_sec/s avgrq-sz
> avgqu-sz await svctm %util
> [...snip!...]
> 14:06:21 sde 219.00 11304.00 30640.00 191.53
> 1.15 5.16 2.10 46.00
> 14:06:21 sdf 209.00 11016.00 29904.00 195.79
> 1.06 5.02 2.01 42.00
> 14:06:21 sdg 178.00 11512.00 28568.00 225.17
> 0.74 3.99 2.08 37.00
> 14:06:21 sdh 175.00 10736.00 26832.00 214.67
> 0.89 4.91 2.00 35.00
> 14:06:21 sdi 206.00 11512.00 29112.00 197.20
> 0.83 3.98 1.80 37.00
> 14:06:21 sdj 209.00 11264.00 30264.00 198.70
> 0.79 3.78 1.96 41.00
> 14:06:21 sds 214.00 10984.00 28552.00 184.75
> 0.78 3.60 1.78 38.00
> 14:06:21 sdt 194.00 13352.00 27808.00 212.16
> 0.83 4.23 1.91 37.00
> 14:06:21 sdu 183.00 12856.00 28872.00 228.02
> 0.60 3.22 2.13 39.00
> 14:06:21 sdv 189.00 11984.00 31696.00 231.11
> 0.57 2.96 1.69 32.00
> 14:06:21 md5 754.00 0.00 153848.00 204.04
> 0.00 0.00 0.00 0.00
> 14:06:21 DayTar-DayTar 753.00 0.00 153600.00 203.98
> 15.73 20.58 1.33 100.00
> 14:06:21 data 760.00 0.00 155800.00 205.00
> 4670.84 6070.91 1.32 100.00
>
> Looks to be about 205 sectors/request, which is 104,960 bytes. This
> might be causing read-modify-write cycles if for whatever reason md is
> not taking advantage of the stripe cache. stripe_cache_active shows
> about 128 blocks (512kB) of RAM in use, per hard drive. Given the
> chunk size is 512kB, and the writes being requested are linear, it
> should not be doing read-modify-write. And yet, there are tons of
> reads being logged, as shown above.
>
> A couple more confusing things:
>
> jo ~ # blockdev --getss /dev/mapper/data
> 512
> jo ~ # blockdev --getpbsz /dev/mapper/data
> 512
> jo ~ # blockdev --getioopt /dev/mapper/data
> 4194304
> jo ~ # blockdev --getiomin /dev/mapper/data
> 524288
> jo ~ # blockdev --getmaxsect /dev/mapper/data
> 255
> jo ~ # blockdev --getbsz /dev/mapper/data
> 512
> jo ~ #
>
> If optimum IO size is 4MBs (as it SHOULD be: 512k chunk * 8 data
> drives = 4MB stripe), but maxsect count is 255 (255*512=128k) how can
> optimal IO ever be done??? I re-mounted XFS with
> sunit=1024,swidth=8192 but that hasn't increased the average
> transaction size as expected. Perhaps it's respecting this maxsect
> limit?
>
> --Bart
>
> PS: The RAID6 full stripe has +2 parity drives for a total of 10, but
> they're not included in the "data zone" definitions of stripe size,
> which are the only important ones for figuring out how large your
> writes should be.
>
> _______________________________________________
> linux-lvm mailing list
> linux-lvm@redhat.com
> https://www.redhat.com/mailman/listinfo/linux-lvm
> read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/
next prev parent reply other threads:[~2011-03-02 23:00 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-02 20:09 [linux-lvm] Tracing IO requests? Bart Kus
2011-03-02 20:13 ` Jonathan Tripathy
2011-03-02 22:19 ` Bart Kus
2011-03-02 23:00 ` Dave Sullivan [this message]
2011-03-02 23:44 ` Ray Morris
2011-03-03 0:25 ` Bart Kus
2011-03-07 16:02 ` Frank Ch. Eigler
2011-03-07 18:06 ` Wendy Cheng
2011-03-03 10:29 ` Bryn M. Reeves
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=4D6ECC25.8010502@redhat.com \
--to=dsulliva@redhat.com \
--cc=linux-lvm@redhat.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;
as well as URLs for NNTP newsgroup(s).