Thread: Disk configurations....

Disk configurations....

From
Nathan Wilhelmi
Date:
Hello - Typically case of a software guy needing to spec hardware for a
new DB server. Further typified case of not knowing exact amount of data
and I/O patterns. So if you were to spec a disk system for a new general
purpose PostgreSQL server any suggestions of what to start with?

Details I have:

1) We think 500GB is enough storage for the DB.
2) I would guess 66% read 33% write patterns, maybe closer to 50/50.

I would assume that we would want to go SCSI raid. Would you do the
whole disk array as Raid 5 or whole you partition it up differently?
Would you go with 3x300gb disks or would you use more smaller disks to
get there?

Any other gotchas or suggestions to look for?

Thanks!

-Nate


Re: Disk configurations....

From
Steve Atkins
Date:
On Jan 24, 2008, at 11:21 AM, Nathan Wilhelmi wrote:

> Hello - Typically case of a software guy needing to spec hardware
> for a new DB server. Further typified case of not knowing exact
> amount of data and I/O patterns. So if you were to spec a disk
> system for a new general purpose PostgreSQL server any suggestions
> of what to start with?
>
> Details I have:
>
> 1) We think 500GB is enough storage for the DB.
> 2) I would guess 66% read 33% write patterns, maybe closer to 50/50.
>
> I would assume that we would want to go SCSI raid. Would you do the
> whole disk array as Raid 5 or whole you partition it up differently?
> Would you go with 3x300gb disks or would you use more smaller disks
> to get there?
>
> Any other gotchas or suggestions to look for?

You really need to have some idea of how much performance you need. A
sensible spec for 10tps is not the same as one for 1000tps.

If you need decent midrange performance, and don't want to spend a
fortune on tweaking and hardware...

I'd avoid RAID5. It's efficient use of disks for redundancy, but not
really the best for random write performance. RAID10 is more expensive
in number of spindles, but a good trade.

A good disk controller, with a battery-backed writeback cache is a
must, IMO, if you want to get decent performance without having to do
a lot of tuning, segregating WAL logs to separate drive mirrors, and
so on. Some people swear by software RAID, but the battery-backed
cache buys you quite a lot by hiding fsync latency.

There are some pretty good SATA based systems out there, and
performance is quite acceptable given a decent controller. High end
3ware and Areca get good reviews from people here. Don't assume you
have to go with SCSI. Also, more spindles are often better for
performance, and you can get a lot more SATA spindles for a given
budget than you can SCSI.

You might want to look at previous threads, mostly over in the -
performance mailing list. It's a fairly common question.

Cheers,
   Steve




Re: Disk configurations....

From
Alan Hodgson
Date:
On Thursday 24 January 2008, Nathan Wilhelmi <wilhelmi@ucar.edu> wrote:
> Hello - Typically case of a software guy needing to spec hardware for a
> new DB server. Further typified case of not knowing exact amount of data
> and I/O patterns. So if you were to spec a disk system for a new general
> purpose PostgreSQL server any suggestions of what to start with?
>
> Details I have:
>
> 1) We think 500GB is enough storage for the DB.
> 2) I would guess 66% read 33% write patterns, maybe closer to 50/50.
>
> I would assume that we would want to go SCSI raid. Would you do the
> whole disk array as Raid 5 or whole you partition it up differently?
> Would you go with 3x300gb disks or would you use more smaller disks to
> get there?

RAID-5 is probably about the worst choice for a high-write activity
database. Certainly pg_log should not be on a RAID-5 array. Also, RAID-5 is
worse on smaller arrays than larger arrays.

SCSI (or SAS) is probably only worthwhile if you need 15K RPM drives.

More disks are usually better than fewer expensive disks.

Personally, I would get 8 new SATA-II drives, put them on a good SAS
controller with a battery-protected write-back cache, and set them up in
RAID-10. If you later find out you need more IOPs you can replace them with
15K RPM SAS drives without throwing out the rest of the server.

Without any idea as to your transaction volume, though, this is a very
general recommendation.

--
Alan

Attachment

Re: Disk configurations....

From
"Martin Gainty"
Date:
64 bit?
http://www.postgresql.org/docs/8.2/interactive/install-procedure.html

M-
----- Original Message -----
From: "Nathan Wilhelmi" <wilhelmi@ucar.edu>
To: <pgsql-general@postgresql.org>
Sent: Thursday, January 24, 2008 2:21 PM
Subject: [GENERAL] Disk configurations....


> Hello - Typically case of a software guy needing to spec hardware for a
> new DB server. Further typified case of not knowing exact amount of data
> and I/O patterns. So if you were to spec a disk system for a new general
> purpose PostgreSQL server any suggestions of what to start with?
>
> Details I have:
>
> 1) We think 500GB is enough storage for the DB.
> 2) I would guess 66% read 33% write patterns, maybe closer to 50/50.
>
> I would assume that we would want to go SCSI raid. Would you do the
> whole disk array as Raid 5 or whole you partition it up differently?
> Would you go with 3x300gb disks or would you use more smaller disks to
> get there?
>
> Any other gotchas or suggestions to look for?
>
> Thanks!
>
> -Nate
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Have you searched our list archives?
>
>                http://archives.postgresql.org/
>

Re: Disk configurations....

From
Bill Moran
Date:
> ----- Original Message -----
> From: "Nathan Wilhelmi" <wilhelmi@ucar.edu>
> To: <pgsql-general@postgresql.org>
> Sent: Thursday, January 24, 2008 2:21 PM
> Subject: [GENERAL] Disk configurations....
>
>
> > Hello - Typically case of a software guy needing to spec hardware for a
> > new DB server. Further typified case of not knowing exact amount of data
> > and I/O patterns. So if you were to spec a disk system for a new general
> > purpose PostgreSQL server any suggestions of what to start with?
> >
> > Details I have:
> >
> > 1) We think 500GB is enough storage for the DB.
> > 2) I would guess 66% read 33% write patterns, maybe closer to 50/50.
> >
> > I would assume that we would want to go SCSI raid. Would you do the
> > whole disk array as Raid 5 or whole you partition it up differently?
> > Would you go with 3x300gb disks or would you use more smaller disks to
> > get there?

Do NOT use RAID5.  Use RAID 10.  If you can afford it, get a SCSI RAID
controller with battery-backed cache and 15,000 RPM drives.

--
Bill Moran
http://www.potentialtech.com