Re: track_planning causing performance regression

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

From: Fujii Masao <masao.fujii@oss.nttdata.com>
To: Pavel Stehule <pavel.stehule@gmail.com>
Cc: Peter Geoghegan <pg@bowt.ie>, Julien Rouhaud <rjuju123@gmail.com>, "Tharakan, Robins" <tharar@amazon.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2020-07-03T06:57:38Z
Lists: pgsql-hackers

On 2020/07/03 13:05, Pavel Stehule wrote:
> Hi
> 
> pá 3. 7. 2020 v 4:39 odesílatel Fujii Masao <masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com>> napsal:
> 
> 
> 
>     On 2020/07/01 7:37, Peter Geoghegan wrote:
>      > On Tue, Jun 30, 2020 at 6:40 AM Fujii Masao <masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com>> wrote:
>      >> Ants and Andres suggested to replace the spinlock used in pgss_store() with
>      >> LWLock. I agreed with them and posted the POC patch doing that. But I think
>      >> the patch is an item for v14. The patch may address the reported performance
>      >> issue, but may cause other performance issues in other workloads. We would
>      >> need to measure how the patch affects the performance in various workloads.
>      >> It seems too late to do that at this stage of v13. Thought?
>      >
>      > I agree that it's too late for v13.
> 
>     Thanks for the comment!
> 
>     So I pushed the patch and changed default of track_planning to off.
> 
> 
> Maybe there can be documented so enabling this option can have a negative impact on performance.

Yes. What about adding either of the followings into the doc?

     Enabling this parameter may incur a noticeable performance penalty.

or

     Enabling this parameter may incur a noticeable performance penalty,
     especially when a fewer kinds of queries are executed on many
     concurrent connections.

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.