Re: May be BUG. Periodic burst growth of the checkpoint_req counter on replica.

Fujii Masao <masao.fujii@oss.nttdata.com>

From: Fujii Masao <masao.fujii@oss.nttdata.com>
To: Alexander Korotkov <aekorotkov@gmail.com>, "Anton A. Melnikov" <a.melnikov@postgrespro.ru>
Cc: Magnus Hagander <magnus@hagander.net>, "Anton A. Melnikov" <aamelnikov@inbox.ru>, Andres Freund <andres@anarazel.de>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2024-09-13T15:20:46Z
Lists: pgsql-hackers

On 2024/03/14 9:19, Alexander Korotkov wrote:
> On Mon, Mar 11, 2024 at 11:48 AM Alexander Korotkov
> <aekorotkov@gmail.com> wrote:
>>
>> On Mon, Mar 11, 2024 at 5:43 AM Anton A. Melnikov
>> <a.melnikov@postgrespro.ru> wrote:
>>> On 11.03.2024 03:39, Alexander Korotkov wrote:
>>>> Now that we distinguish stats for checkpoints and
>>>> restartpoints, we need to update the docs.  Please, check the patch
>>>> attached.
>>>
>>> Maybe bring the pg_stat_get_checkpointer_buffers_written() description in consistent with these changes?
>>> Like that:
>>>
>>> --- a/src/include/catalog/pg_proc.dat
>>> +++ b/src/include/catalog/pg_proc.dat
>>> @@ -5740 +5740 @@
>>> -  descr => 'statistics: number of buffers written by the checkpointer',
>>> +  descr => 'statistics: number of buffers written during checkpoints and restartpoints',
>>
>> This makes sense.  I've included this into the revised patch.
> 
> Pushed.

If I understand correctly, restartpoints_timed and restartpoints_done were
separated because a restartpoint can be skipped. restartpoints_timed counts
when a restartpoint is triggered by a timeout, whether it runs or not,
while restartpoints_done only tracks completed restartpoints.

Similarly, I believe checkpoints should be handled the same way.
Checkpoints can also be skipped when the system is idle, but currently,
num_timed counts even the skipped ones, despite its documentation stating
it's the "Number of scheduled checkpoints that have been performed."

Why not separate num_timed into something like checkpoints_timed and
checkpoints_done to reflect these different counters?

Regards,

-- 
Fujii Masao
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION




Commits

  1. Improve descriptions of some pg_stat_checkpoints functions in pg_proc.dat.

  2. docs: Enhance the pg_stat_checkpointer view documentation.

  3. Add num_done counter to the pg_stat_checkpointer view.

  4. docs: Improve the description of num_timed column in pg_stat_checkpointer.

  5. Improve documentation for pg_stat_checkpointer fields

  6. Enhance checkpointer restartpoint statistics

  7. Introduce pg_stat_checkpointer