From: Merlin Moncure <mmoncure@gmail.com>
To: Christiaan Willemsen <cwillemsen@technocon.com>
Cc: pgsql-performance@postgresql.org
Subject: Re: How to setup disk spindles for best performance
Date: Wed, 20 Aug 2008 21:49:54 -0400
Message-ID: <b42b73150808201849t3577d65eq76e7484d8519af51@mail.gmail.com> (raw)
In-Reply-To: <972BDF1A-B4ED-46EC-B416-0CDF15A0439A@technocon.com>
References: <972BDF1A-B4ED-46EC-B416-0CDF15A0439A@technocon.com>
On Wed, Aug 20, 2008 at 6:25 PM, Christiaan Willemsen
<cwillemsen@technocon.com> wrote:
> I'm currently trying to find out what the best configuration is for our new
> database server. It will server a database of about 80 GB and growing fast.
> The new machine has plenty of memory (64GB) and 16 SAS disks, of wich two
> are already in use as a mirror for the OS.
>
> The rest can be used for PostgreSQL. So that makes a total of 14 15k.5 SAS
> diks. There is obviously a lot to interesting reading to be found, most of
> them stating that the transaction log should be put onto a separate disk
> spindle. You can also do this with the indexes. Since they will be updated a
> lot, I guess that might be a good idea. But what no-one states, is what
> performance these spindle should have in comparison to the data spindle? If
> I create a raid 10 of 6 disks for the data, 4 disk raid 10 for the log, and
> 4 disk raid 10 for the indexes, will this yield best performance? Or is it
> sufficient to just have a simple mirror for the log and/or indexes...? I
> have not found any information about these figures, and I guess it should be
> possible to give some pointers on how these different setup might affect
> performance?
Well, the speed of your logging device puts an upper bound on the
write speed of the database. While modern sas drives can do 80mb/sec
+ with sequential ops, this can turn to 1mb/sec real fast if the
logging is duking it out with the other generally random work the
database has to do, which is why it's often separated out.
80mb/sec is actually quite a lot in database terms and you will likely
only get anything close to that when doing heavy insertion, so that
it's unlikely to become the bottleneck. Even if you hit that limit
sometimes, those drives are probably put to better use in the data
volume somewhere.
As for partitioning the data volume, I'd advise this only if you have
a mixed duty database that does different tasks with different
performance requirements. You may be serving a user interface which
has very low maximum transaction time and therefore gets dedicated
disk i/o apart from the data churn that is going on elsewhere. Apart
from that though, I'd keep it in a single volume.
merlin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-performance@postgresql.org
Cc: mmoncure@gmail.com, cwillemsen@technocon.com
Subject: Re: How to setup disk spindles for best performance
In-Reply-To: <b42b73150808201849t3577d65eq76e7484d8519af51@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox