On Tue, Jun 29, 2010 at 9:39 PM, Bruce Momjian <bruce@xxxxxxxxxx> wrote: > Jignesh Shah wrote: >> On Tue, Jun 29, 2010 at 2:45 PM, Bruce Momjian <bruce@xxxxxxxxxx> wrote: >> > Tom Lane wrote: >> >> Bruce Momjian <bruce@xxxxxxxxxx> writes: >> >> >>> I asked on IRC and was told it is true, and looking at the C code it >> >> >>> looks true. ?What synchronous_commit = false does is to delay writing >> >> >>> the wal buffers to disk and fsyncing them, not just fsync, which is >> >> >>> where the commit loss due to db process crash comes from. >> >> >> >> >> Ah, I see. ?Thanks. >> >> >> >> > I am personally surprised it was designed that way; ?I thought we would >> >> > just delay fsync. >> >> >> >> That would require writing and syncing to be separable actions. ?If >> >> you're using O_SYNC or similar, they aren't. >> > >> > Ah, very good point. ?I have added a C comment to clarify why this is >> > the current behavior; ?attached and applied. >> > >> > -- >> > ?Bruce Momjian ?<bruce@xxxxxxxxxx> ? ? ? ?http://momjian.us >> > ?EnterpriseDB ? ? ? ? ? ? ? ? ? ? ? ? ? ? http://enterprisedb.com >> >> >> Though has anybody seen a behaviour where synchronous_commit=off is >> slower than synchronous_commit=on ? Again there are two cases here >> one with O_* flag and other with f*sync flags. But I had seen that >> behavior with PostgreSQL 9.0 beta(2 I think) though havent really >> investigated it much yet .. (though now I dont remember which >> wal_sync_method flag) . Just curious if anybody has seen that >> behavior.. > > I have trouble believing how synchronous_commit=off could be slower than > 'on'. > > -- > Bruce Momjian <bruce@xxxxxxxxxx> http://momjian.us > EnterpriseDB http://enterprisedb.com > > + None of us is going to be here forever. + > Hi Bruce, Let me clarify the problem a bit.. If the underlying WAL disk is SSD then it seems I can get synchronous_commit=on to work faster than synchronous_commit=off.. Yes sounds unintuitive to me. But the results seems to point in that direction. It could be that it hit some other bottleneck with synchronous_commit=off reaches that synchronous_commit=on does not hit (or has not hit yet). Brads point of wal buffers could be valid. Though typically I havent seen the need to increase it beyond 1024kB yet. Hopefully I will retry it with the latest PostgreSQL 9.0 bits and see it happens again. More on that later. Regards, Jignesh -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance