Re: Changing the default wal_sync_method to open_sync for Win32?

From: "Merlin Moncure" <merlin(dot)moncure(at)rcsonline(dot)com>
To: "Bruce Momjian" <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: "Magnus Hagander" <mha(at)sollentuna(dot)net>, "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, <pgsql-hackers-win32(at)postgresql(dot)org>
Subject: Re: Changing the default wal_sync_method to open_sync for Win32?
Date: 2005-03-17 13:19:19
Message-ID: 6EE64EF3AB31D5448D0007DD34EEB3412A7653@Herge.rcsinc.local
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers-win32

> Magnus Hagander wrote:
> > I'd like to see this one also considered for 8.0.x, though I'd
certainly
> > like to see some more testing as well. Perhaps it's suitable for the
> > "8.0.x with extended testing" that is planned for the ARC
replacement
> > code?
> >
> > It does make a huge difference on win32. While we definitly don't
want
> > to risk data, a 60% speedup in write intensive apps is a *lot*.
>
> While this patch has been applied to CVS HEAD, there are still two
open
> issues:
>
> 1. Should it be the default wal_sync_method for Win32?

I vote no. Even though the performance of fsync sucks, it is safe, and
the stock config on most win32 systems is to cache writes. I suspect
that while write caching on/O_SYNC might be a little safer that fsync
due to a shorter cache degradation period, it's not good enough.

> 2. Another question is what to do with 8.0.X? Do we backpatch this
for
> Win32 performance? Can we test it enough to know it will work well?
> 8.0.2 is going to have a more rigorous testing cycle because of the
> buffer manager changes.

I vote to backport. Without O_SYNC, it is impossible to get reasonable
performance out of a caching raid controller in many configurations.

Merlin

Browse pgsql-hackers-win32 by date

  From Date Subject
Next Message Kenneth Marshall 2005-03-17 14:12:58 Re: Changing the default wal_sync_method to open_sync for Win32?
Previous Message Dave Page 2005-03-17 09:11:51 Re: Changing the default wal_sync_method to open_sync for