linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: John Robinson <john.robinson@anonymous.org.uk>
To: tfjellstrom@shaw.ca
Cc: linux-raid@vger.kernel.org
Subject: Re: Awful RAID5 random read performance
Date: Sun, 31 May 2009 13:29:38 +0100	[thread overview]
Message-ID: <4A227832.1090808@anonymous.org.uk> (raw)
In-Reply-To: <200905310147.58119.tfjellstrom@shaw.ca>

On 31/05/2009 08:47, Thomas Fjellstrom wrote:
> On Sun May 31 2009, Michael Tokarev wrote:
>> Maurice Hilarius wrote:
>>> A friend writes:
>>>
>>> On a recent machine set up with Raid5.
>>> On a AMD Phenom II X4 810, and 4GB ram.
>>> 4 Seagate 7200.12  SATA 1TB drives,
>>>
>>> I'm getting some rather impressive numbers for sequential read
>>> (300MB/s+) and write (170MB/s+) but the random read is proving to be
>>> absolutely atrocious.
>>> iostat says its going at about 0.5MB/s,
>> The key thing about random i/o is the block size.  With, say, 512bytes
>> blocks and single thread you will see less than 0.5Mb/sec.  With 64kbytes
>> blocksize it will be much better.
>>
>> To diagnose: first try the same test on bare disk without raid layer.
>> Next try to vary block size and number of concurrent threads doing I/O.
>> There's no tweaks needed really.
> 
> I happen to be the friend Maurice was talking about. I let the raid layer keep 
> its default chunk size of 64K. The smaller size (below like 2MB) tests in 
> iozone are very very slow. I recently tried disabling readahead, Acoustic 
> Management, and played with the io scheduler and all any of it has done is 
> make the sequential access slower and has barely touched the smaller sized 
> random access test results. Even with the 64K iozone test random read/write is 
> only in the 7 and 11MB/s range.
> 
> It just seems too low to me.

I don't think so; can you try a similar test on single drives not using 
md RAID-5?

The killer is seeks, which is what random I/O uses lots of; with a 10ms 
seek time you're only going to get ~100 seeks/second and if you're only 
reading 512 bytes after each seek you're only going to get ~500 
kbytes/second. Bigger block sizes will show higher throughput, but 
you'll still only get ~100 seeks/second.

Clearly when you're doing this over 4 drives you can have ~400 
seeks/second but that's still limiting you to ~400 reads/second for 
smallish block sizes.

Cheers,

John.


  reply	other threads:[~2009-05-31 12:29 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-30 21:46 Awful RAID5 random read performance Maurice Hilarius
2009-05-31  6:25 ` Michael Tokarev
2009-05-31  7:47   ` Thomas Fjellstrom
2009-05-31 12:29     ` John Robinson [this message]
2009-05-31 15:41       ` Leslie Rhorer
2009-05-31 16:56         ` Thomas Fjellstrom
2009-05-31 18:26           ` Keld Jørn Simonsen
2009-06-02 18:54           ` Bill Davidsen
2009-06-02 19:47             ` Keld Jørn Simonsen
2009-06-02 23:13               ` John Robinson
2009-06-03 18:38                 ` Bill Davidsen
2009-06-03 19:57                   ` John Robinson
2009-06-03 22:21                     ` Goswin von Brederlow
2009-06-04 11:23                       ` Keld Jørn Simonsen
2009-06-04 22:40                       ` Nifty Fedora Mitch
2009-06-06 23:06                       ` Bill Davidsen
2009-06-01  1:19         ` Carlos Carvalho
2009-06-01  4:57           ` Leslie Rhorer
2009-06-01  5:39             ` Thomas Fjellstrom
2009-06-01 12:43               ` Maurice Hilarius
2009-06-02 14:57                 ` Wil Reichert
2009-06-02 15:14                   ` Maurice Hilarius
2009-06-02 19:47               ` Bill Davidsen
2009-06-01 11:41             ` Goswin von Brederlow
2009-06-03  1:57               ` Leslie Rhorer
2009-05-31 17:19       ` Goswin von Brederlow
2009-06-01 12:01         ` John Robinson

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=4A227832.1090808@anonymous.org.uk \
    --to=john.robinson@anonymous.org.uk \
    --cc=linux-raid@vger.kernel.org \
    --cc=tfjellstrom@shaw.ca \
    /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).