Re: WalSndWakeup() and synchronous_commit=off
От | Andres Freund |
---|---|
Тема | Re: WalSndWakeup() and synchronous_commit=off |
Дата | |
Msg-id | 201205310143.07264.andres@2ndquadrant.com обсуждение исходный текст |
Ответ на | Re: WalSndWakeup() and synchronous_commit=off (Fujii Masao <masao.fujii@gmail.com>) |
Список | pgsql-hackers |
On Thursday, May 31, 2012 01:33:33 AM Fujii Masao wrote: > On Wed, May 30, 2012 at 9:46 PM, Andres Freund <andres@2ndquadrant.com> wrote: > > On Tuesday, May 29, 2012 08:42:43 PM Andres Freund wrote: > >> Patch attached. > > > > Imo this patch should be backported to 9.1, 9.0 doesn't use latches and > > does not do explicit wakeup of the sender so its not applicable there. > > > > I can prepare a patch for 9.1 if people agree, there has been some amount > > of change that won't make it apply cleanly. > > The patch wakes up walsender more frequently than now. Which leads > walsender to send smaller WAL data packet more frequently, and furthermore > which leads walreceiver to issue fsync more frequently. So I'm afraid that > the patch makes the disk more busy and slows down the read-only query > in the standby. I'm also afraid that frequent fsync calls degrade the > performance > of sync replication. So it's better to do benchmark to address the > concerns. I couldn't measure any significant difference in #fsyncs or replication speed in a busy pgbench workload. If anything there were less, but the difference was small. Both with synchronous_commit=on/off. I did *not* test sync repl. Why would you expect a change? Walsender is only signalled if XLogWrite actually flushed data to disk. Thats the point of the exercise. Thats normally only done if the wal buffers are full or a commit record (+some other stuff) requires the xlog to be flushed up to some point. Greetings, Andres -- Andres Freund http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services
В списке pgsql-hackers по дате отправления: