How to set parallel_tuple_cost

From: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
To: "pgsql-performa(dot)" <pgsql-performance(at)postgresql(dot)org>
Subject: How to set parallel_tuple_cost
Date: 2019-12-20 18:03:29
Message-ID: CAMkU=1ziWTO_OBmFYkwhdtpc_JrM2Eroip=8vS3CNtgJs6KcoQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

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?

Cheers,

Jeff

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Laurenz Albe 2019-12-20 18:42:19 Re: How to set parallel_tuple_cost
Previous Message Shijia Wei 2019-12-20 05:21:10 Re: Consecutive Query Executions with Increasing Execution Time