From: | John Lister <john(dot)lister(at)kickstone(dot)co(dot)uk> |
---|---|
To: | Craig James <cjames(at)emolecules(dot)com> |
Cc: | Jan Nielsen <jan(dot)sture(dot)nielsen(at)gmail(dot)com>, sthomas(at)peak6(dot)com, pgsql-performance(at)postgresql(dot)org |
Subject: | Re: Configuration Recommendations |
Date: | 2012-05-03 20:27:34 |
Message-ID: | 4FA2EA36.7080902@kickstone.co.uk |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
On 03/05/2012 16:46, Craig James wrote:
> On Thu, May 3, 2012 at 6:42 AM, Jan Nielsen<jan(dot)sture(dot)nielsen(at)gmail(dot)com> wrote:
>> Hi John,
>>
>> On Thu, May 3, 2012 at 12:54 AM, John Lister<john(dot)lister(at)kickstone(dot)co(dot)uk>
>> 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
From | Date | Subject | |
---|---|---|---|
Next Message | Scott Carey | 2012-05-03 22:09:11 | Re: Configuration Recommendations |
Previous Message | Eyal Wilde | 2012-05-03 17:07:55 | Re: scale up (postgresql vs mssql) |