From: Bill Davidsen <davidsen@tmr.com>
To: tfjellstrom@shaw.ca
Cc: linux-raid@vger.kernel.org
Subject: Re: Awful RAID5 random read performance
Date: Tue, 02 Jun 2009 15:47:40 -0400 [thread overview]
Message-ID: <4A2581DC.3060005@tmr.com> (raw)
In-Reply-To: <200905312339.12234.tfjellstrom@shaw.ca>
Thomas Fjellstrom wrote:
> On Sun May 31 2009, Leslie Rhorer wrote:
>
>
>>> Unfortunately it doesn't seem to be. Take a well-considered drive such
>>> as the WD RE3; it's spec for average latency is 4.2ms. However does it
>>> include the rotational latency (the time the head takes to reach the
>>> sector once it's on the track)? I bet it doesn't. Taking it to be only
>>> the average seek time, this drive is still among the fastest. For a
>>> 7200rpm drive this latency is just 4.2ms, so we'd have for this fast
>>> drive an average total latency of 8.4ms.
>>>
>> That's an average. For a random seek to exceed that, it's going to have to
>> span many cylinders. Give the container size of a modern cylinder, that's
>> a pretty big jump. Single applications will tend to have their data lumped
>> somewhat together on the drive.
>>
>>
>
>
>>> with
>>>
>>>
>
>
>>> No, random I/O is the most common case for busy servers, when there
>>> are lots of processes doing uncorrelated reads and writes. Even if a
>>>
>> Yes, exactly. By definition, such a scenario represents a multithreaded
>> set of seeks, and as we already established, multithreaded seeks are vastly
>> more efficient than serial random seeks. The 400 seeks per second number
>> for 4 drives applies. I don't know the details of the Linux schedulers,
>> but most schedulers employ some variation of an elevator seek to maximize
>> seek efficiency. The brings the average latency way down and brings the
>> seek frequency way up.
>>
>
> Ah, I never really understood how adding more random load could increase
> performance. Now I get it :)
>
>
>>> single application does sequential access the head will likely have
>>> moved between them. The only solution is to have lots of ram for
>>> cache, and/or lots of disks. It'd be better if they were connected to
>>> several controllers...
>>>
>> A large RAM cache will help, but as I already pointed out, the increases in
>> returns for increasing cache size diminish rapidly past a certain point.
>> Most quality drives these days have a 32MB cache, or 128M for a 4 drive
>> array. Add the Linux cache on top of that, and it should be sufficient for
>> most purposes. Remember, random seeks implies small data extents. Lots of
>> disks will bring the biggest benefit, and disks are cheap. Multiple
>> controllers really are not necessary, especially if the controller and
>> drives support NCQ , but having multiple controllers certainly doesn't
>> hurt.
>>
>
> Yet I've heard NCQ makes some things worse. Some raid tweaking pages tell you
> to try disabling NCQ.
>
> I've actually been thinking about trying md-cache with an SSD on top of my new
> raid and see how that works long term. But I can't really think of a good
> benchmark that actually imitates my particular use cases well enough to show
> me if it'd help me at all ::)
>
> I doubt my punny little 30G OCZ Vertex would really help all that much any
> how.
>
For ext[34] you might want to put the journal on SSD, if you are doing
any significant write that will help.
Mounting data=journal may also help write, supposedly the write will
complete when the data hits the journal, and not wait for the platter.
--
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.
next prev parent reply other threads:[~2009-06-02 19:47 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
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 [this message]
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=4A2581DC.3060005@tmr.com \
--to=davidsen@tmr.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.