On Fri, May 25, 2012 at 10:30 AM, Merlin Moncure <mmoncure@gmail.com> wrote:
> I think what's happening here is that the buffer partitions don't help
> (in fact, they hurt) in the presence of multiple concurrent scans that
> are operating on approximately the same data. Sooner or later the
> scans line up on each other and start binding when reassigning lock
> tags (which take out up to two ordered exclusive lwlocks). This is on
> the read side, so the buffer access strategy is zero help (I confirmed
> this off list).
This theory is seeming fairly plausible - how can we test it?
How about trying it with synchronize_seqscans = off? If the
synchronized-seqscan logic is causing contention on the buf mapping
locks and individual buffer locks, that should fix it.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company