Re: Experimental patch for inter-page delay in VACUUM
От | Jan Wieck |
---|---|
Тема | Re: Experimental patch for inter-page delay in VACUUM |
Дата | |
Msg-id | 3FAFFA40.7020108@Yahoo.com обсуждение исходный текст |
Ответ на | Re: Experimental patch for inter-page delay in VACUUM (Bruce Momjian <pgman@candle.pha.pa.us>) |
Ответы |
Re: Experimental patch for inter-page delay in VACUUM
|
Список | pgsql-hackers |
Bruce Momjian wrote: > Jan Wieck wrote: >> Zeugswetter Andreas SB SD wrote: >> >> >> > One problem with O_SYNC would be, that the OS does not group writes any >> >> > more. So the code would need to eighter do it's own sorting and grouping >> >> > (256k) or use aio, or you won't be able to get the maximum out of the disks. >> >> >> >> Or just run multiple writer processes, which I believe is Oracle's >> >> solution. >> > >> > That does not help, since for O_SYNC the OS'es (those I know) do not group those >> > writes together. Oracle allows more than one writer to busy more than one disk(subsystem) and circumvent other per processlimitations (mainly on platforms without AIO). >> >> Yes, I think the best way would be to let the background process write a >> bunch of pages, then fsync() the files written to. If one tends to have >> many dirty buffers to the same file, this will group them together and >> the OS can optimize that. If one really has completely random access, >> then there is nothing to group. > > Agreed. This might force enough stuff out to disk the checkpoint/sync() > would be OK. Jan, have you tested this? > As said, not using fsync() but sync() at that place. This only makes a real difference when you're not running PostgreSQL on a dedicated server. And yes, it really works well. Jan -- #======================================================================# # It's easier to get forgiveness for being wrong than for being right. # # Let's break this rule - forgive me. # #================================================== JanWieck@Yahoo.com #
В списке pgsql-hackers по дате отправления: