Re: How to set parallel_tuple_cost

From: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
To: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>, "pgsql-performa(dot)" <pgsql-performance(at)postgresql(dot)org>
Subject: Re: How to set parallel_tuple_cost
Date: 2019-12-20 18:42:19
Message-ID: 9d984638e80cd99a699ed85b3cebcc855d1cf8d1.camel@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Fri, 2019-12-20 at 13:03 -0500, Jeff Janes wrote:
> 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."
>
> Usually you can find more extensive discussion of such settings in informal resources like blog posts or mailing lists,
> but Googling the name I don't find much for this setting. Is there good information out there somewhere?
>
> 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. 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?

Hmm. The parameter was introduced into the discussion here:
https://www.postgresql.org/message-id/CAA4eK1L0dk9D3hARoAb84v2pGvUw4B5YoS4x18ORQREwR%2B1VCg%40mail.gmail.com
and while the name was changed from "cpu_tuple_comm_cost" to "parallel_tuple_cost"
later, the default value seems not to have been the subject of discussion.

Yours,
Laurenz Albe
--
Cybertec | https://www.cybertec-postgresql.com

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Tom Lane 2019-12-20 18:58:57 Re: How to set parallel_tuple_cost
Previous Message Jeff Janes 2019-12-20 18:03:29 How to set parallel_tuple_cost