Re: AW: AW: WAL does not recover gracefully from out-of-dis k-sp ace
От | Tom Lane |
---|---|
Тема | Re: AW: AW: WAL does not recover gracefully from out-of-dis k-sp ace |
Дата | |
Msg-id | 7342.984160119@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | AW: AW: WAL does not recover gracefully from out-of-dis k-sp ace (Zeugswetter Andreas SB <ZeugswetterA@wien.spardat.at>) |
Список | pgsql-hackers |
Zeugswetter Andreas SB <ZeugswetterA@wien.spardat.at> writes: > A short test shows, that opening the file O_SYNC, and thus avoiding fsync() > would cut the effective time needed to sync write the xlog more than in half. > 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 This seems odd. As near as I can tell, O_SYNC is simply a command to do fsync implicitly during each write call. It cannot save any I/O unless I'm missing something significant. Where is the performance difference coming from? 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... regards, tom lane
В списке pgsql-hackers по дате отправления: