Skip site navigation (1) Skip section navigation (2)

Re: RAID stripe size question

From: Ron Peacetree <rjpeace(at)earthlink(dot)net>
To: Mikael Carneholm <Mikael(dot)Carneholm(at)WirelessCar(dot)com>, pgsql-performance(at)postgresql(dot)org
Subject: Re: RAID stripe size question
Date: 2006-07-18 03:07:55
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-performance
-----Original Message-----
>From: Mikael Carneholm <Mikael(dot)Carneholm(at)WirelessCar(dot)com>
>Sent: Jul 17, 2006 5:16 PM
>To: Ron  Peacetree <rjpeace(at)earthlink(dot)net>, pgsql-performance(at)postgresql(dot)org
>Subject: RE: [PERFORM] RAID stripe size question
>>15Krpm HDs will have average access times of 5-6ms.  10Krpm ones of 7-8ms.
>Average seek time for that disk is listed as 4.9ms, maybe sounds a bit optimistic?
Ah, the games vendors play.  "average seek time" for a 10Krpm HD may very well be 4.9ms.  However, what matters to you the user is "average =access= time".  The 1st is how long it takes to position the heads to the correct track.  The 2nd is how long it takes to actually find and get data from a specified HD sector.

>> 28HDs as above setup as 2 RAID 10's => ~75MBps*5= ~375MB/s,  ~75*9= ~675MB/s.
>I guess it's still limited by the 2Gbit FC (192Mb/s), right?
No.  A decent HBA has multiple IO channels on it.  So for instance Areca's ARC-6080 (8/12/16-port 4Gbps Fibre-to-SATA ll Controller) has 2 4Gbps FCs in it (...and can support up to 4GB of BB cache!).  Nominally, this card can push 8Gbps= 800MBps.  ~600-700MBps is the RW number.

Assuming ~75MBps ASTR per HD, that's ~ enough bandwidth for a 16 HD RAID 10 set per ARC-6080.  

>>Very, very few RAID controllers can do >= 1GBps One thing that help greatly with 
>>bursty IO patterns is to up your battery backed RAID cache as high as you possibly
>>can.  Even multiple GBs of BBC can be worth it.  
>>Another reason to have multiple controllers ;-)
>I use 90% of the raid cache for writes, don't think I could go higher than that. 
>Too bad the emulex only has 256Mb though :/
If your RAID cache hit rates are in the 90+% range, you probably would find it profitable to make it greater.  I've definitely seen access patterns that benefitted from increased RAID cache for any size I could actually install.  For those access patterns, no amount of RAID cache commercially available was enough to find the "flattening" point of the cache percentage curve.  256MB of BB RAID cache per HBA is just not that much for many IO patterns.

>The controller is a FC2143 (, which uses PCI-E. Don't know how it compares to other controllers, haven't had the time to search for / read any reviews yet.
This is a relatively low end HBA with 1 4Gb FC on it.  Max sustained IO on it is going to be ~320MBps.  Or ~ enough for an 8 HD RAID 10 set made of 75MBps ASTR HD's.

28 such HDs are =definitely= IO choked on this HBA.  

The arithmatic suggests you need a better HBA or more HBAs or both.

>>WAL's are basically appends that are written in bursts of your chosen log chunk size and that are almost never read afterwards.  Big DB pages and big RAID stripes makes sense for WALs.
>According to, it seems to be the other way around? ("As stripe size is decreased, files are broken into smaller and smaller pieces. This increases the number of drives that an average file will use to hold all the blocks containing the data of that file, theoretically increasing transfer performance, but decreasing positioning performance.")
>I guess I'll have to find out which theory that holds by good ol� trial and error... :)
IME, stripe sizes of 64, 128, or 256 are the most common found to be optimal for most access patterns + SW + FS + OS + HW.


pgsql-performance by date

Next:From: Alex TurnerDate: 2006-07-18 04:21:51
Subject: Re: RAID stripe size question
Previous:From: Mark KirkwoodDate: 2006-07-18 00:22:29
Subject: Re: RAID stripe size question

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group