Re: RAID arrays and performance

From: Gregory Stark <gsstark(at)mit(dot)edu>
To: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
Cc: "Matthew" <matthew(at)flymine(dot)org>, "Mark Mielke" <mark(at)mark(dot)mielke(dot)cc>, <pgsql-performance(at)postgresql(dot)org>
Subject: Re: RAID arrays and performance
Date: 2008-01-29 16:45:20
Message-ID: 873asginrz.fsf@stark.xeocode.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

"Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov> writes:

> >>> On Tue, Jan 29, 2008 at 9:52 AM, in message
> <877ihsvdcb(dot)fsf(at)oxford(dot)xeocode(dot)com>, Gregory Stark <stark(at)enterprisedb(dot)com>
> wrote:
>
> > I got this from a back-of-the-envelope calculation which now that I'm trying
> > to reproduce it seems to be wrong. Previously I thought it was n(n+1)/2 or
> > about n^2/2. So at 16 I would have expected about 128 pending i/o requests
> > before all the drives could be expected to be busy.
>
> That seems right to me, based on the probabilities of any new
> request hitting an already-busy drive.
>
> > Now that I'm working it out more carefully I'm getting that the expected
> > number of pending i/o requests before all drives are busy is
> > n + n/2 + n/3 + ... + n/n
>
> What's the basis for that?

Well consider when you've reached n-1 drives; the expected number of requests
before you hit the 1 idle drive remaining out of n would be n requests. When
you're at n-2 the expected number of requests before you hit either of the two
idle drives would be n/2. And so on. The last term of n/n would be the first
i/o when all the drives are idle and you obviously only need one i/o to hit an
idle drive.

--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Kevin Grittner 2008-01-29 17:13:54 Re: RAID arrays and performance
Previous Message Kevin Grittner 2008-01-29 16:23:22 Re: RAID arrays and performance