Re: Experimental patch for inter-page delay in VACUUM
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Jan Wieck <JanWieck@Yahoo.com>
Cc: Ang Chin Han <angch@bytecraft.com.my>, Christopher Browne <cbbrowne@acm.org>, pgsql-hackers@postgresql.org
Date: 2003-11-04T15:58:46Z
Lists: pgsql-hackers
Jan Wieck <JanWieck@Yahoo.com> writes: > Tom Lane wrote: >> I have never been happy with the fact that we use sync(2) at all. > Sure does it do too much. But together with the other layer of > indirection, the virtual file descriptor pool, what is the exact > guaranteed behaviour of > write(); close(); open(); fsync(); > cross platform? That isn't guaranteed, which is why we have to use sync() at the moment. To go over to fsync or O_SYNC we'd need more control over which file descriptors are used to issue writes. Which is why I was thinking about moving the writes to a centralized writer process. >> Actually, once you build it this way, you could make all writes >> synchronous (open the files O_SYNC) so that there is never any need for >> explicit fsync at checkpoint time. > Yes, but then the configuration leans more towards "take over the RAM" Why? The idea is to try to issue writes at a fairly steady rate, which strikes me as much better than the current behavior. I don't see why it would force you to have large numbers of buffers available. You'd want a few thousand, no doubt, but that's not a large number. regards, tom lane