AW: AW: AW: WAL does not recover gracefully from out-of -dis k-sp ace

From: Zeugswetter Andreas SB <ZeugswetterA(at)wien(dot)spardat(dot)at>
To: "'Tom Lane'" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "Mikheev, Vadim" <vmikheev(at)SECTORBASE(dot)COM>, pgsql-hackers(at)postgresql(dot)org
Subject: AW: AW: AW: WAL does not recover gracefully from out-of -dis k-sp ace
Date: 2001-03-09 18:44:49
Message-ID: 11C1E6749A55D411A9670001FA68796336823A@sdexcsrv1.f000.d0188.sd.spardat.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


> > > Of course we would need to buffer >= 1 xlog page before write (or commit)
> > > to gain the full advantage.
> >
> > > prewrite 0 + write and fsync: 60.4 sec
> > > sparse file + write with O_SYNC: 37.5 sec
> > > no prewrite + write with O_SYNC: 36.8 sec
> > > prewrite 0 + write with O_SYNC: 24.0 sec

> > The reason I'm inclined to question this is that what we want is not an
> > fsync per write but an fsync per transaction, and we can't easily buffer
> > all of a transaction's XLOG writes...
>
> Yes, that is something to consider, but it would probably be sufficient to buffer
> 1-3 optimal IO blocks (32-256k here).
> I assumed that with a few busy clients the fsyncs would come close to
> one xlog page, but that is probably too few.

I get best performance with eighter:
prewrite + 16k write with O_SYNC: 15.5 sec
prewrite + 32k write with O_SYNC: 11.5 sec
no prewite + 256k write with O_SYNC: 5.4 sec

But this 256k per tx would probably be very unrealistic, thus
best overall performance would probably be achieved with
a 32k (or tuneable) xlog buffer O_SYNC and prewrite.

Maybe a good thing for 7.1.1 :-)

Andreas

Browse pgsql-hackers by date

  From Date Subject
Next Message Zeugswetter Andreas SB 2001-03-09 19:01:28 AW: AW: AW: AW: WAL does not recover gracefully from ou t-of -dis k-sp ace
Previous Message Tom Lane 2001-03-09 18:42:24 Re: AW: AW: AW: WAL does not recover gracefully from out-of -dis k-sp ace