Re: track_planning causing performance regression

Julien Rouhaud <rjuju123@gmail.com>

From: Julien Rouhaud <rjuju123@gmail.com>
To: Fujii Masao <masao.fujii@oss.nttdata.com>
Cc: Justin Pryzby <pryzby@telsasoft.com>, Pavel Stehule <pavel.stehule@gmail.com>, Peter Geoghegan <pg@bowt.ie>, "Tharakan, Robins" <tharar@amazon.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2021-07-07T09:09:21Z
Lists: pgsql-hackers
On Thu, Jul 1, 2021 at 4:28 PM Fujii Masao <masao.fujii@oss.nttdata.com> wrote:
>
> I'm fine with this. So what about the following diff? I added <structname> tag.
>
>         <varname>pg_stat_statements.track_planning</varname> controls whether
>         planning operations and duration are tracked by the module.
>         Enabling this parameter may incur a noticeable performance penalty,
> -      especially when a fewer kinds of queries are executed on many
> -      concurrent connections.
> +      especially when statements with identical query structure are executed
> +      by many concurrent connections which compete to update a small number of
> +      <structname>pg_stat_statements</structname> entries.
>         The default value is <literal>off</literal>.
>         Only superusers can change this setting.

It seems perfect, thanks!



Commits

  1. doc: Fix description about pg_stat_statements.track_planning.

  2. doc: Add note about possible performance overhead by enabling track_planning.

  3. Change default of pg_stat_statements.track_planning to off.