From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Merlin Moncure <mmoncure(at)gmail(dot)com> |
Cc: | Florian Pflug <fgp(at)phlo(dot)org>, Robert Haas <robertmhaas(at)gmail(dot)com>, Sergey Koposov <koposov(at)ast(dot)cam(dot)ac(dot)uk>, Jeff Janes <jeff(dot)janes(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org, Stephen Frost <sfrost(at)snowman(dot)net> |
Subject: | Re: 9.2beta1, parallel queries, ReleasePredicateLocks, CheckForSerializableConflictIn in the oprofile |
Date: | 2012-06-01 13:45:54 |
Message-ID: | 23905.1338558354@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Merlin Moncure <mmoncure(at)gmail(dot)com> writes:
> A potential issue with this line of thinking is that your pin delay
> queue could get highly pressured by outer portions of the query (as in
> the OP's case) that will get little or no benefit from the delayed
> pin. But choosing a sufficiently sized drain queue would work for
> most reasonable cases assuming 32 isn't enough? Why not something
> much larger, for example the lesser of 1024, (NBuffers * .25) /
> max_connections? In other words, for you to get much benefit, you
> have to pin the buffer sufficiently more than 1/N times among all
> buffers.
Allowing each backend to pin a large fraction of shared buffers sounds
like a seriously bad idea to me. That's just going to increase
thrashing of what remains.
More generally, I don't believe that we have any way to know which
buffers would be good candidates to keep pinned for a long time.
Typically, we don't drop the pin in the first place if we know we're
likely to touch that buffer again soon. btree root pages might be an
exception, but I'm not even convinced of that one.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Simon Riggs | 2012-06-01 13:49:39 | Re: Re: [COMMITTERS] pgsql: Checkpointer starts before bgwriter to avoid missing fsync reque |
Previous Message | Bryan Murphy | 2012-06-01 13:45:41 | Re: pg_upgrade from 9.0.7 to 9.1.3: duplicate key pg_authid_oid_index |