explain analyze output with parallel workers - question about meaning of information for explain.depesz.com

From: hubert depesz lubaczewski <depesz(at)depesz(dot)com>
To: pgsql-hackers mailing list <pgsql-hackers(at)postgresql(dot)org>
Subject: explain analyze output with parallel workers - question about meaning of information for explain.depesz.com
Date: 2017-11-24 11:21:51
Message-ID: 20171124112151.GA6616@depesz.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

up to parallel executions, when we had node in explain analyze showing
"loops=x" with x more than 1, it meant that the "actual time" had to be
multiplied by loops to get real time spent in a node.

For example, check step 13 in https://explain.depesz.com/s/gNBd

It shows time of 3ms, but loops of 1873, so the actual time is ~ 5600ms.

But with parallel execution it seems to be no longer the case.

For example:
https://explain.depesz.com/s/LTMp
or
https://explain.depesz.com/s/QHRi

It looks that the actual time is really actual time, and loops is
"worker nodes + 1".

Is that really the case? Should I, for explain.depesz.com, when dealing
with partial* and parallel* nodes, use "loops=1" for calculation of
exclusive/inclusive time? always? some other nodes?

or am I missing something in here?

Best regards,

depesz

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Rajkumar Raghuwanshi 2017-11-24 11:30:05 Re: [HACKERS] Parallel Append implementation
Previous Message Alexander Korotkov 2017-11-24 10:33:36 Re: [HACKERS] Challenges preventing us moving to 64 bit transaction id (XID)?