Re: checkpointer continuous flushing - V18 - Mailing list pgsql-hackers

From Fabien COELHO
Subject Re: checkpointer continuous flushing - V18
Date
Msg-id alpine.DEB.2.10.1603102339440.18837@sto
Whole thread Raw
In response to Re: checkpointer continuous flushing - V18  (Andres Freund <andres@anarazel.de>)
Responses Re: checkpointer continuous flushing - V18
List pgsql-hackers
>        <para>
>         Whenever more than <varname>bgwriter_flush_after</varname> bytes have
>         been written by the bgwriter, attempt to force the OS to issue these
>         writes to the underlying storage.  Doing so will limit the amount of
>         dirty data in the kernel's page cache, reducing the likelihood of
>         stalls when an fsync is issued at the end of a checkpoint, or when
>         the OS writes data back  in larger batches in the background.  Often
>         that will result in greatly reduced transaction latency, but there
>         also are some cases, especially with workloads that are bigger than
>         <xref linkend="guc-shared-buffers">, but smaller than the OS's page
>         cache, where performance might degrade.  This setting may have no
>         effect on some platforms.  <literal>0</literal> disables controlled
>         writeback. The default is <literal>256Kb</> on Linux, <literal>0</>
>         otherwise. This parameter can only be set in the
>         <filename>postgresql.conf</> file or on the server command line.
>        </para>
>
> (plus adjustments for the other gucs)

Some suggestions:

What about the maximum value?

If the default is in pages, maybe you could state it and afterwards 
translate it in size.

"The default is 64 pages on Linux (usually 256Kb)..."

The text could say something about sequential writes performance because 
pages are sorted.., but that it is lost for large bases and/or short 
checkpoints ?

-- 
Fabien.



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: checkpointer continuous flushing - V18
Next
From: Robert Haas
Date:
Subject: Re: Fix for OpenSSL error queue bug