Re: Streaming replication on win32, still broken
Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
From: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
To: Magnus Hagander <magnus@hagander.net>
Cc: Fujii Masao <masao.fujii@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2010-02-18T12:46:46Z
Lists: pgsql-hackers
Attachments
- no-O_DIRECT-with-archiving-1.patch (text/x-diff)
Magnus Hagander wrote: > 2010/2/18 Fujii Masao <masao.fujii@gmail.com>: >> On Thu, Feb 18, 2010 at 7:04 PM, Heikki Linnakangas >> <heikki.linnakangas@enterprisedb.com> wrote: >>> Magnus Hagander wrote: >>>> O_DIRECT helps us when we're not going to read the file again, because >>>> we don't waste cache on it. If we are, which is the case here, it >>>> should be really bad for performance, since we actually have to do a >>>> physical read. >>>> >>>> Incidentally, that should also apply to general WAL when archive_mdoe >>>> is on. Do we optimize for that? >>> Hmm, no we don't. We do take that into account so that we refrain from >>> issuing posix_fadvice(DONTNEED) if archive_mode is on, but we don't >>> disable O_DIRECT. Maybe we should.. >> Since the performance of WAL write is more important than that of WAL >> archiving in general, that optimization might offer little benefit. > > Well, it's going to make the process that reads the WAL cause actual > physical I/O... That'll take a chunk out of your total available I/O, > which is likely to push you to the limit of your I/O capacity much > quicker. Right, doesn't seem sensible, though it would be nice to see a benchmark on that. Here's a patch to disable O_DIRECT when archiving or streaming is enabled. This is pretty hard to test, so any extra eyeballs would be nice.. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com