linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bill Davidsen <davidsen@tmr.com>
To: Goswin von Brederlow <goswin-v-b@web.de>
Cc: John Robinson <john.robinson@anonymous.org.uk>,
	Linux RAID <linux-raid@vger.kernel.org>
Subject: Re: Awful RAID5 random read performance
Date: Sat, 06 Jun 2009 19:06:01 -0400	[thread overview]
Message-ID: <4A2AF659.3090304@tmr.com> (raw)
In-Reply-To: <878wk9q7qp.fsf@frosties.localdomain>

Goswin von Brederlow wrote:
> John Robinson <john.robinson@anonymous.org.uk> writes:
>
>   
>> On 03/06/2009 19:38, Bill Davidsen wrote:
>>     
>>> John Robinson wrote:
>>>       
>>>> On 02/06/2009 20:47, Keld Jørn Simonsen wrote:
>>>>         
>> [...]
>>     
>>>>> In your case, using 3 disks, raid5 should give about 210 % of the
>>>>> nominal
>>>>> single disk speed for big file reads, and maybe 180 % for big file
>>>>> writes. raid10,f2 should give about 290 % for big file reads and 140%
>>>>> for big file writes. Random reads should be about the same for raid5 and
>>>>> raid10,f2 - raid10,f2 maybe 15 % faster, while random writes should be
>>>>> mediocre for raid5, and good for raid10,f2.
>>>>>           
>>>> I'd be interested in reading about where you got these figures from
>>>> and/or the rationale behind them; I'd have guessed differently...
>>>>         
>>> For small values of N, 10,f2 generally comes quite close to N*Sr,
>>> where N is # of disks and Sr is single drive read speed. This is
>>> assuming fiarly large reads and adequate stripe buffer
>>> space. Obviously for larger values of N that saturates something
>>> else in the system, like the bus, before N gets too large. I don't
>>> generally see more than (N/2-1)*Sw for write, at least for large
>>> writes. I came up with those numbers based on testing 3-4-5 drive
>>> arrays which do large file transfers. If you want to read more than
>>> large file speed into them, feel free.
>>>       
>
> With far copies reading is like reading raid0 and writing is like
> raid0 but writing twice with a seek between each. So (N/2) and (N/2-a
> bit) are the theoretical maximums and raid10 comes damn close to those.
>
>   
>> Actually it was the RAID-5 figures I'd have guessed differently. I'd
>> expect ~290% (rather than 210%) for big 3-disc RAID-5 reads, and ~140%
>> (rather than "mediocre") for random small writes. But of course I
>> haven't tested.
>>     
>
> That kind of depends on the chunk size I think.
>
> Say you have a raid 5 with chunk size << size of 1 track. Then on each
> disk you read 2 chunks, skip a chunk, read 2 chunks, skip a chunk. But
> skipping a chunk means waiting for the disk to rotate over it. That
> takes as long as reading it. You shouldn't even get 210% speed.
>
> Only if chunk size >> size of 1 track could you seek over a
> chunk. And you have to hope that by the time you have seeked the start
> of the next chunk hasn't rotated past the head yet.
>
> Anyone know what the size of a track is on modern disks? How many
> sectors/track do they have?
>   

It varies to keep the bpi constant, so there are more sectors on outer 
tracks and transfer rate is higher. raid10 can use outer tracks in more 
cases (with the "far" layout) and thus delivers a higher transfer rate. 
Or so the theory goes, in practice raid10 *does* give a higher transfer 
rate, so the above is theory to explain the observed facts.

-- 
Bill Davidsen <davidsen@tmr.com>
  Even purely technical things can appear to be magic, if the documentation is
obscure enough. For example, PulseAudio is configured by dancing naked around a
fire at midnight, shaking a rattle with one hand and a LISP manual with the
other, while reciting the GNU manifesto in hexadecimal. The documentation fails
to note that you must circle the fire counter-clockwise in the southern
hemisphere.



--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2009-06-06 23:06 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
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 [this message]
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=4A2AF659.3090304@tmr.com \
    --to=davidsen@tmr.com \
    --cc=goswin-v-b@web.de \
    --cc=john.robinson@anonymous.org.uk \
    --cc=linux-raid@vger.kernel.org \
    /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).