Re: Separating bgwriter and checkpointer
Simon Riggs <simon@2ndquadrant.com>
From: Simon Riggs <simon@2ndQuadrant.com>
To: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Cc: Fujii Masao <masao.fujii@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2011-09-20T08:18:59Z
Lists: pgsql-hackers
On Tue, Sep 20, 2011 at 9:06 AM, Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> wrote: > On 20.09.2011 10:48, Simon Riggs wrote: >> >> On Fri, Sep 16, 2011 at 2:38 AM, Fujii Masao<masao.fujii@gmail.com> >> wrote: >>> >>> On Fri, Sep 16, 2011 at 7:53 AM, Simon Riggs<simon@2ndquadrant.com> >>> wrote: >>>> >>>> This patch splits bgwriter into 2 processes: checkpointer and >>>> bgwriter, seeking to avoid contentious changes. Additional changes are >>>> expected in this release to build upon these changes for both new >>>> processes, though this patch stands on its own as both a performance >>>> vehicle and in some ways a refcatoring to simplify the code. >>> >>> I like this idea to simplify the code. How much performance gain can we >>> expect by this patch? >> >> On heavily I/O bound systems, this is likely to make a noticeable >> difference, since bgwriter reduces I/O in user processes. > > Hmm. If the system is I/O bound, it doesn't matter which process performs > the I/O. It's still the same amount of I/O in total, and in an I/O bound > system, that's what determines the overall throughput. That's true, but not relevant. The bgwriter avoids I/O, if it is operating correctly. This patch ensures it continues to operate even during heavy checkpoints. So it helps avoid extra I/O during a period of very high I/O activity. -- Simon Riggs http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services