Re: track_planning causing performance regression

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

From: Fujii Masao <masao.fujii@oss.nttdata.com>
To: Hamid Akhtar <hamid.akhtar@gmail.com>
Cc: Pavel Stehule <pavel.stehule@gmail.com>, 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-08-17T12:30:31Z
Lists: pgsql-hackers

On 2020/08/17 18:34, Hamid Akhtar wrote:
> 
> 
> On Mon, Aug 17, 2020 at 2:21 PM Fujii Masao <masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com>> wrote:
> 
> 
> 
>     On 2020/07/31 21:40, Hamid Akhtar wrote:
>      > <https://commitfest.postgresql.org/29/2634/>
>      >
>      > On Mon, Jul 6, 2020 at 10:29 AM Fujii Masao <masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com>>> wrote:
>      >
>      >
>      >
>      >     On 2020/07/04 12:22, Pavel Stehule wrote:
>      >      >
>      >      >
>      >      > pá 3. 7. 2020 v 13:02 odesílatel Fujii Masao <masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com>> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com>>>> napsal:
>      >      >
>      >      >
>      >      >
>      >      >     On 2020/07/03 16:02, Pavel Stehule wrote:
>      >      >      >
>      >      >      >
>      >      >      > pá 3. 7. 2020 v 8:57 odesílatel Fujii Masao <masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com>> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com>>> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com>> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com>>>>> napsal:
>      >      >      >
>      >      >      >
>      >      >      >
>      >      >      >     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> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com>> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com>>> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com>> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com>>>> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com>> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com>>> <mailto:masao.fujii@oss.nttdata.com
>     <mailto:masao.fujii@oss.nttdata.com> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com>> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com> <mailto: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> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com>> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com>>> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com>> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com>>>> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com>> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com>>>
>     <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com>> <mailto:masao.fujii@oss.nttdata.com <mailto:masao.fujii@oss.nttdata.com> <mailto: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.
>      >      >      >
>      >      >      >
>      >      >      > This second variant looks perfect for this case.
>      >      >
>      >      >     Ok, so patch attached.
>      >      >
>      >      >
>      >      > +1
>      >
>      >     Thanks for the review! Pushed.
>      >
>      >     Regards,
>      >
>      >     --
>      >     Fujii Masao
>      >     Advanced Computing Technology Center
>      >     Research and Development Headquarters
>      >     NTT DATA CORPORATION
>      >
>      >
>      >
>      > You might also want to update this patch's status in the commitfest:
>      > https://commitfest.postgresql.org/29/2634/
> 
>     The patch added into this CF entry has not been committed yet.
>     So I was thinking that there is no need to update the status yet. No?
> 
> 
> Your previous email suggested that it's been pushed, hence my comment. Checking the git log, I see a commit was pushed on July 6 (321fa6a) with the changes that match the latest patch.

Yes, I pushed the document_overhead_by_track_planning.patch, but this
CF entry is for pgss_lwlock_v1.patch which replaces spinlocks with lwlocks
in pg_stat_statements. The latter patch has not been committed yet.
Probably attachding the different patches in the same thread would cause
this confusing thing... Anyway, thanks for your comment!

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.