Re: Background writer process
| От | Bruce Momjian |
|---|---|
| Тема | Re: Background writer process |
| Дата | |
| Msg-id | 200311132239.hADMdWj29089@candle.pha.pa.us обсуждение исходный текст |
| Ответ на | Re: Background writer process (Jan Wieck <JanWieck@Yahoo.com>) |
| Ответы |
Re: Background writer process
|
| Список | pgsql-hackers |
Jan Wieck wrote: > Bruce Momjian wrote: > > > Kurt Roeckx wrote: > >> On Thu, Nov 13, 2003 at 04:35:31PM -0500, Jan Wieck wrote: > >> > For sure the sync() needs to be replaced by the discussed fsync() of > >> > recently written files. And I think the algorithm how much and how often > >> > to flush can be significantly improved. But after all, this does not > >> > change the real checkpointing at all, and the general framework having a > >> > separate process is what we probably want. > >> > >> Why is the sync() needed at all? My understanding was that it > >> was only needed in case of a checkpoint. > > > > He found that write() itself didn't encourage the kernel to write the > > buffers to disk fast enough. I think the final solution will be to use > > fsync or O_SYNC. > > > > write() alone doesn't encourage the kernel to do any physical IO at all. > As long as you have enough OS buffers, it does happy write caching until > you checkpoint and sync(), and then the system freezes. That's not completely true. Some kernels with trickle sync, meaning they sync a little bit regularly rather than all at once so write() does help get those shared buffers into the kernel for possible writing. Also, it is possible the kernel will issue a sync() on its own. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania19073
В списке pgsql-hackers по дате отправления: