From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | Andres Freund <andres(at)anarazel(dot)de>, Craig Ringer <craig(at)postnewspapers(dot)com(dot)au>, Matthew Wakeling <matthew(at)flymine(dot)org>, pgsql-performance(at)postgresql(dot)org |
Subject: | Re: Pooling in Core WAS: Need help in performance tuning. |
Date: | 2010-07-27 20:40:02 |
Message-ID: | 13654.1280263202@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> On Thu, Jul 22, 2010 at 5:29 PM, Andres Freund <andres(at)anarazel(dot)de> wrote:
>>> The problem is harder for us because a backend can't switch identities
>>> once it's been assigned to a database. I haven't heard an adequate
>>> explanation of why that couldn't be changed, though.
>> Possibly it might decrease the performance significantly enough by
>> reducing the cache locality (syscache, prepared plans)?
> Those things are backend-local. The worst case scenario is you've got
> to flush them all when you reinitialize, in which case you still save
> the overhead of creating a new process.
"Flushing them all" is not zero-cost; it's not too hard to believe that
it could actually be slower than forking a clean new backend.
What's much worse, it's not zero-bug. We've got little bitty caches
all over the backend, including (no doubt) some caching behavior in
third-party code that wouldn't get the word about whatever API you
invented to deal with this.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Josh Berkus | 2010-07-27 21:13:42 | Re: how to handle a big table for data log |
Previous Message | Yeb Havinga | 2010-07-27 20:06:16 | Re: Slow query using the Cube contrib module. |