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
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 |