Re: Hmmm... why does CPU-intensive pl/pgsql code parallelise so badly when queries parallelise fine? Anyone else seen this?

From: "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>
To: Craig James <cjames(at)emolecules(dot)com>
Cc: "Graeme B(dot) Bell" <graeme(dot)bell(at)nibio(dot)no>, postgres performance list <pgsql-performance(at)postgresql(dot)org>
Subject: Re: Hmmm... why does CPU-intensive pl/pgsql code parallelise so badly when queries parallelise fine? Anyone else seen this?
Date: 2015-07-08 17:52:08
Message-ID: 559D6348.6000508@commandprompt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance


On 07/08/2015 10:48 AM, Craig James wrote:

> I admit that I haven't read this whole thread but:
>
> Using Apache Fast-CGI, you are going to fork a process for each
> instance of the function being executed and that in turn will use
> all CPUs up to the max available resource.
>
> With PostgreSQL, that isn't going to happen unless you are running
> (at least) 8 functions across 8 connections.
>
>
> Well, right, which is why I mentioned "even with dozens of clients."
> Shouldn't that scale to at least all of the CPUs in use if the function
> is CPU intensive (which it is)?

In theory but that isn't PostgreSQL that does that, it will be the
kernel scheduler. Although (and I am grasping at straws):

I wonder if the execution is taking place outside of the backend proper
or... are you using a pooler?

JD

>
> Craig
>
>
>
>
> JD
>
> --
> Command Prompt, Inc. - http://www.commandprompt.com/ 503-667-4564
> PostgreSQL Centered full stack support, consulting and development.
> Announcing "I'm offended" is basically telling the world you can't
> control your own emotions, so everyone else should do it for you.
>
>
>
>
> --
> ---------------------------------
> Craig A. James
> Chief Technology Officer
> eMolecules, Inc.
> ---------------------------------

--
Command Prompt, Inc. - http://www.commandprompt.com/ 503-667-4564
PostgreSQL Centered full stack support, consulting and development.
Announcing "I'm offended" is basically telling the world you can't
control your own emotions, so everyone else should do it for you.

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Craig James 2015-07-08 18:08:56 Re: Hmmm... why does CPU-intensive pl/pgsql code parallelise so badly when queries parallelise fine? Anyone else seen this?
Previous Message Craig James 2015-07-08 17:48:07 Re: Hmmm... why does CPU-intensive pl/pgsql code parallelise so badly when queries parallelise fine? Anyone else seen this?