hardare config question - Mailing list pgsql-performance

From Erik Myllymaki
Subject hardare config question
Date
Msg-id 445236D5.5060509@aviawest.com
Whole thread Raw
Responses Re: hardare config question  (Vivek Khera <vivek@khera.org>)
Re: hardare config question  ("Luke Lonergan" <llonergan@greenplum.com>)
List pgsql-performance
This is a question that I also posted on Dell hardware forums, and I realize it
probably belongs there more than here. But I am thinking someone might have
some anecdotal information that could help me and this post may help someone
else down the road.

My PowerEdge 1800 (dual 3ghz Xeon, 3GB ram) came with a single SATA drive. I
installed and developed a modest database application (Postgresql, Windows 2003
Server, Python) on it and was pretty impressed with the performance.

I wanted to add some more space, speed and reliability so I bought a used 3ware
9500s SATA raid card. I bought three more of the same drives (Seagate
ST3808110as) and configured them in RAID 5 (3 in RAID one as hot spare). I
reinstalled the OS and software (my efforts to ghost were not
fruitful...another story), and the first thing I did was run a sql script to
make tables, indexes, sequences etc for my app and import about 20MB of data.

When I had this installed on a single SATA drive running from the PE1800's
on-board SATA interface, this operation took anywhere from 65-80 seconds.

With my new RAID card and drives, this operation took 272 seconds!?

I did a quick search and found a few posts about how RAID 5 with Databases is a
poor choice and one in particular about Postgres and how you could expect
performance to be halved with RAID 5 over a single drive or RAID 1 (until you
get above 6 disks in your RAID 5 array). So, a poorly planned configuration on
my part.

I scrubbed the RAID config, made two RAID 1 containers (also read about how
moving database logs to a different partition than the database data is optimal
for speed and reliability). I installed the OS on the first RAID 1 volume, the
Postgresql apps and data on the other, and used Junction from sysinternals to
put the pg_xlogs back on the OS partition (does Postgresql have an easier way
to do this on Windows?).

Well, things didn't improve noticeably - 265 seconds.

Next step, turn on the 3ware RAID card's write cache (even though I have no
Battery Backup Unit on the RAID card and am warned about possible data loss in
the event of power loss).

This helped - down to  172 seconds.

Is this loss in performance just the normal overhead involved when adding a
raid card - writes now having to go to two drives instead of one? Or maybe is
the SATA interface on the Dell 1800s motherboard faster than the interface on
the 3ware raid card (SATA II ?).

Thanks for any help you guidance you can provide.

pgsql-performance by date:

Previous
From: Tom Lane
Date:
Subject: Re: Arrays and index scan
Next
From: "Andrus"
Date:
Subject: Re: CPU usage goes to 100%, query seems to ran forever