Re: How to set parallel_tuple_cost - Mailing list pgsql-performance

From Tom Lane
Subject Re: How to set parallel_tuple_cost
Date
Msg-id 11002.1576868337@sss.pgh.pa.us
Whole thread Raw
In response to How to set parallel_tuple_cost  (Jeff Janes <jeff.janes@gmail.com>)
Responses Re: How to set parallel_tuple_cost  (Andres Freund <andres@anarazel.de>)
Re: How to set parallel_tuple_cost  (Jeff Janes <jeff.janes@gmail.com>)
List pgsql-performance
Jeff Janes <jeff.janes@gmail.com> writes:
> The docs for parallel_tuple_cost are quite terse, as the reference section
> of the docs usually are:
> "Sets the planner's estimate of the cost of transferring one tuple from a
> parallel worker process to another process. The default is 0.1."

> If you were take the doc description literally, then the default value
> seems much too high, as it doesn't take 10x the (default) cpu_tuple_cost to
> transfer a tuple up from a parallel worker.

Really?  If anything, I'd have thought it might be worse than 10x.
Cross-process communication isn't cheap, at least not according to
my instincts.

> On the other hand, you
> probably don't want a query which consumes 8x the CPU resources just to
> finish only 5% faster (on an otherwise idle server with 8 CPUs).  Maybe
> this Amdahl factor is what inspired the high default value?

I think the large value of parallel_setup_cost is what's meant to
discourage that scenario.

            regards, tom lane



pgsql-performance by date:

Previous
From: Laurenz Albe
Date:
Subject: Re: How to set parallel_tuple_cost
Next
From: Andres Freund
Date:
Subject: Re: How to set parallel_tuple_cost