On Thu, 1 Feb 2007, Ben wrote:
I'm looking to replace some old crusty hardware with some sparkling new
hardware. In the process, I'm looking to move away from the previous
mentality of having the Big Server for Everything to having a cluster of
servers, each of which handles some discrete subset of data. But rackspace
isn't inifinte, so I'm leaning towards cases that give me 8 drive bays. This
leaves me with an interesting problem of how to configure these limited
number of drives.
I know that ideally I would have seperate spindles for WAL, indexes, and
data. But I also know that I must be able to survive a drive failure, and I
want at least 1TB of space for my data. I suspect with so few drive bays, I
won't be living in an ideal world.
With an even mix of reads and writes (or possibly more writes than reads), is
it better to use RAID10 and have everything on the same partition, or to have
data and indexes on a 6-drive RAID5 with WAL on its own RAID1?
I'm surprised I haven't seen any responses to this, but maybe everyone's tired
of the what to do with X drives question...perhaps we need a pgsql-perform
FAQ?
At any rate, I just recently built a new PG server for a client which had 8
Raptors with an Areca 1160 controller that has the 1GB battery backed cache
installed. We tested a few different configurations and decided on an 8 disk
RAID10 with a separate WAL partition. The separate WAL partition was
marginally faster by a few percent.
The 8 disk RAID5 was actually a bit faster than the 8 disk RAID10 in overall
throughput with the Areca, but we opted for the RAID10 because of reliability
reasons.
The moral of the story is to test each config with your workload and see what
performs the best. In our case, the battery backed write cache seemed to
remove the need for a separate WAL disk, but someone elses workload might
still benefit from it.
--
Jeff Frost, Owner <jeff@xxxxxxxxxxxxxxxxxxxxxx>
Frost Consulting, LLC http://www.frostconsultingllc.com/
Phone: 650-780-7908 FAX: 650-649-1954