pg.ddx.io  pgsql-bugs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Fujii Masao <masao.fujii@oss.nttdata.com>
To: Julien Rouhaud <rjuju123@gmail.com>
Cc: Justin Pryzby <pryzby@telsasoft.com>
Cc: Andres Freund <andres@anarazel.de>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Subject: Re: BUG #16109: Postgres planning time is high across version (Expose buffer usage during planning in EXPLAIN)
Date: Fri, 3 Apr 2020 11:31:20 +0900
Message-ID: <1ee339d1-790f-a0a9-38f8-99d4e70630d2@oss.nttdata.com> (raw)
In-Reply-To: <0abcbb8f-5b96-da04-ad7d-b84c36d09dd0@oss.nttdata.com>
References: <16109-26a1a88651e90608@postgresql.org>
	<20191112205506.rvadbx2dnku3paaw@alap3.anarazel.de>
	<CAOBaU_ZfSUrU7Cuno_ycJDFDfqJH3jC0=2ou2GkcNy-P0UPy3A@mail.gmail.com>
	<20200124055534.GM13621@telsasoft.com>
	<CAOBaU_ZhmG7FZBH9z28nb7++zQ--FsqX_GcTefXa7oj1yrWnRg@mail.gmail.com>
	<CAOBaU_YAN6PW4perkROgXWtRmDNX8tvKwjgDpsR6wYetEUahGQ@mail.gmail.com>
	<20200331013146.GA14618@telsasoft.com>
	<7bdd1e99-335f-a24a-ffbd-8a578a761970@oss.nttdata.com>
	<CAOBaU_ZrKOMXLxxeqUvuFN1Xy2Kfmz7GFfT47ksCuecC8N2AOQ@mail.gmail.com>
	<045faedf-108d-26e6-7307-ab1ac2d64624@oss.nttdata.com>
	<20200402060154.gylqmvwdbes5s5ni@nol>
	<0abcbb8f-5b96-da04-ad7d-b84c36d09dd0@oss.nttdata.com>



On 2020/04/02 15:52, Fujii Masao wrote:
> 
> 
> On 2020/04/02 15:01, Julien Rouhaud wrote:
>> On Thu, Apr 02, 2020 at 01:05:56PM +0900, Fujii Masao wrote:
>>>
>>>
>>> On 2020/04/02 3:47, Julien Rouhaud wrote:
>>>> On Wed, Apr 1, 2020 at 7:51 PM Fujii Masao <masao.fujii@oss.nttdata.com> wrote:
>>>>>
>>>>>
>>>>> On 2020/03/31 10:31, Justin Pryzby wrote:
>>>>>> On Wed, Jan 29, 2020 at 12:15:59PM +0100, Julien Rouhaud wrote:
>>>>>>> Rebase due to conflict with 3ec20c7091e97.
>>>>>>
>>>>>> This is failing to apply probably since 4a539a25ebfc48329fd656a95f3c1eb2cda38af3.
>>>>>> Could you rebase?   (Also, not sure if this can be set as RFC?)
>>>>>
>>>>> I updated the patch. Attached.
>>>>
>>>> Thanks a lot!  I'm sorry I missed Justin's ping, and it I just
>>>> realized that my cron job that used to warn me about cfbot failure was
>>>> broken :(
>>>>
>>>>> +/* Compute the difference between two BufferUsage */
>>>>> +BufferUsage
>>>>> +ComputeBufferCounters(BufferUsage *start, BufferUsage *stop)
>>>>>
>>>>> Since BufferUsageAccumDiff() was exported, ComputeBufferCounters() is
>>>>> no longer necessary. In the patched version, BufferUsageAccumDiff() is
>>>>> used to calculate the difference of buffer usage.
>>>>
>>>> Indeed, exposing BufferUsageAccumDiff wa definitely a good thing!
>>>>
>>>>> +       if (es->summary && (planduration || es->buffers))
>>>>> +               ExplainOpenGroup("Planning", "Planning", true, es);
>>>>>
>>>>> Isn't it more appropriate to check "bufusage" instead of "es->buffers" here?
>>>>> The patch changes the code so that "bufusage" is checked.
>>>>
>>>> AFAICS not unless ExplainOneQuery is also changed to pass a NULL
>>>> pointer if the BUFFER option wasn't provided (and maybe also
>>>> optionally skip the planning buffer computation).  With this version
>>>> you now get:
>>>>
>>>> =# explain (analyze, buffers off) update t1 set id = id;
>>>>                                                 QUERY PLAN
>>>> -------------------------------------------------------------------------------------------------------
>>>>    Update on t1  (cost=0.00..22.70 rows=1270 width=42) (actual
>>>> time=0.170..0.170 rows=0 loops=1)
>>>>      ->  Seq Scan on t1  (cost=0.00..22.70 rows=1270 width=42) (actual
>>>> time=0.050..0.054 rows=1 loops=1)
>>>>    Planning Time: 1.461 ms
>>>>      Buffers: shared hit=25
>>>>    Execution Time: 1.071 ms
>>>> (5 rows)
>>>>
>>>> which seems wrong to me.
>>>>
>>>> I reused the es->buffers to avoid having needing something like:
>>>
>>> Yes, you're right! So I updated the patch as you suggested.
>>> Attached is the updated version of the patch.
>>> Thanks for the review!
>>
>>
>> Thanks a lot, it all looks good to me!
> 
> Thanks! Barring any objection, I will commit the latest version of the patch.

Pushed! Thanks a lot!!

Regards,

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





view thread (20+ messages)

Message-ID: <1ee339d1-790f-a0a9-38f8-99d4e70630d2@oss.nttdata.com>
Permalink:  ../1ee339d1-790f-a0a9-38f8-99d4e70630d2@oss.nttdata.com/
Also on:    postgresql.org/message-id/1ee339d1-790f-a0a9-38f8-99d4e70630d2@oss.nttdata.com

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-bugs@postgresql.org
  Cc: masao.fujii@oss.nttdata.com, rjuju123@gmail.com, pryzby@telsasoft.com, andres@anarazel.de, pgsql-hackers@lists.postgresql.org
  Subject: Re: BUG #16109: Postgres planning time is high across version (Expose buffer usage during planning in EXPLAIN)
  In-Reply-To: <1ee339d1-790f-a0a9-38f8-99d4e70630d2@oss.nttdata.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox