Re: Configuration Recommendations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 03/05/2012 16:46, Craig James wrote:
On Thu, May 3, 2012 at 6:42 AM, Jan Nielsen<jan.sture.nielsen@xxxxxxxxx>  wrote:
Hi John,

On Thu, May 3, 2012 at 12:54 AM, John Lister<john.lister@xxxxxxxxxxxxxxx>
wrote:
I was wondering if it would be better to put the xlog on the same disk as
the OS? Apart from the occasional log writes I'd have thought most OS data
is loaded into cache at the beginning, so you effectively have an unused
disk. This gives you another spindle (mirrored) for your data.

Or have I missed something fundamental?
I followed Gregory Smith's arguments from PostgreSQL 9.0 High Performance,
wherein he notes that WAL is sequential with constant cache flushes whereas
OS is a mix of sequential and random with rare cache flushes. This (might)
lead one to conclude that separating these would be good for at least the
WAL and likely both. Regardless, separating these very different
use-patterns seems like a "Good Thing" if tuning is ever needed for either.
Another consideration is journaling vs. non-journaling file systems.
If the WAL is on its own file system (not necessarily its own
spindle), you can use a non-journaling file system like ext2.  The WAL
is actually quite small and is itself a journal, so there's no reason
to use a journaling file system.  On the other hand, you don't want
the operating system on ext2 because it takes a long time to recover
from a crash.

I think you're right about the OS: once it starts, there is very
little disk activity.  I'd say put both on the same disk but on
different partitions.  The OS can use ext4 or some other modern
journaling file system, and the WAL can use ext2.  This also means you
can put the WAL on the outer (fastest) part of the disk and leave the
slow inner tracks for the OS.

Sorry I wasn't clear, I was thinking that the WAL and OS would go on different partitions (for the reasons stated previously that the OS could fill its partition) but that they share a disk/spindle - some nomenclature issues here I think. This would free up another (pair of) spindle(s) for the data which would seem much more beneficial in terms of performance than the WAL being separate...

In terms of the caching issues, I'm guessing that you would be sharing the same cache regardless of whether the OS and WAL are on the same disk(s) or not - unless you stick the WAL on a separate raid/disk controller to the OS...

John

--
www.pricegoblin.co.uk


--
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance


[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux