Separate leader buffer info and worker wait info in EXPLAIN output?

Поиск
Список
Период
Сортировка
От Thomas Munro
Тема Separate leader buffer info and worker wait info in EXPLAIN output?
Дата
Msg-id CAEepm=3TBJew4h2u11ow8ROEMisrHhJs_=ymiaaMne91bP1qJA@mail.gmail.com
обсуждение исходный текст
Ответы Re: Separate leader buffer info and worker wait info in EXPLAIN output?
Список pgsql-hackers
Hi hackers,

EXPLAIN can show per-worker information and aggregated information,
but doesn't show the leader's information individually.  Should it?

Example:
 Partial Aggregate [...]   Output: PARTIAL count(*)   Buffers: shared hit=476   Worker 0: actual time=5.110..5.110
rows=1loops=1     Buffers: shared hit=150   Worker 1: actual time=5.088..5.088 rows=1 loops=1     Buffers: shared
hit=149

Presumably in that case the leader hit 476 - 150 - 149 = 175 shared
buffers, but why don't we just say so?

In my Parallel Hash proposal I'm showing Leader info separately:
 Parallel Hash [...]   Buckets: 32768  Batches: 1   Leader:    Shared Memory Usage: 1088kB  Tuples Hashed: 13440
Batches Probed: 1   Worker 0:  Shared Memory Usage: 1088kB  Tuples Hashed: 3960
Batches Probed: 1   Worker 1:  Shared Memory Usage: 1088kB  Tuples Hashed: 2600
Batches Probed: 1   ->  Parallel Seq Scan on [...]

The Leader line goes away if you set parallel_leader_participation =
off (using a patch I posted recently) due to lack of data.

The above is about about increasing visibility of the leader's
contribution, but it would also be good to be able to see how the
leader is hurting you by running the plan itself.  Would it make sense
to instrument the tuple queue interactions so we can show per-worker
shm_mq_send_bytes wait count and wait time?

-- 
Thomas Munro
http://www.enterprisedb.com


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: [HACKERS] Commits don't block for synchronous replication
Следующее
От: David Rowley
Дата:
Сообщение: Re: [HACKERS] Runtime Partition Pruning