Re: track_planning causing performance regression

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

From: Fujii Masao <masao.fujii@oss.nttdata.com>
To: Julien Rouhaud <rjuju123@gmail.com>, Justin Pryzby <pryzby@telsasoft.com>
Cc: 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-01T08:28:30Z
Lists: pgsql-hackers

On 2021/06/30 0:12, Julien Rouhaud wrote:
>>         Enabling this parameter may incur a noticeable performance penalty,
>> -      especially when a fewer kinds of queries are executed on many
>> -      concurrent connections.
>> +      especially when queries with identical structure are executed by many
>> +      concurrent connections which compete to update a small number of
>> +      pg_stat_statements entries.
>>
>> It could say "identical structure" or "the same queryid" or "identical queryid".
> 
> I think we should try to reuse the previous formulation.  How about
> "statements with identical query structure"?

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.

Regards,

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



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.