Re: track_planning causing performance regression

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

From: Fujii Masao <masao.fujii@oss.nttdata.com>
To: Justin Pryzby <pryzby@telsasoft.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
Date: 2021-04-19T14:44:05Z
Lists: pgsql-hackers

On 2021/04/19 8:36, Justin Pryzby wrote:
> Reviewing this change which was committed last year as
> 321fa6a4a26c9b649a0fbec9fc8b019f19e62289
> 
> On Fri, Jul 03, 2020 at 03:57:38PM +0900, Fujii Masao wrote:
>> On 2020/07/03 13:05, Pavel Stehule wrote:
>>> pá 3. 7. 2020 v 4:39 odesílatel Fujii Masao <masao.fujii@oss.nttdata.com> napsal:
>>>
>>> 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.
> 
> Something seems is wrong with this sentence, and I'm not sure what it's trying
> to say.  Is this right ?

pg_stat_statements users different spinlock for each kind of query.
So fewer kinds of queries many sessions execute, fewer spinlocks
they try to acquire. This may lead to spinlock contention and
significant performance degration. This is what the statement is
trying to say.

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.