Re: Proposal of tunable fix for scalability of 8.4 - Mailing list pgsql-performance

From Robert Haas
Subject Re: Proposal of tunable fix for scalability of 8.4
Date
Msg-id 603c8f070903121829r31cf1472ha9876e5c480a542e@mail.gmail.com
Whole thread Raw
In response to Re: Proposal of tunable fix for scalability of 8.4  (Scott Carey <scott@richrelevance.com>)
Responses Re: Proposal of tunable fix for scalability of 8.4  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Proposal of tunable fix for scalability of 8.4  (Scott Carey <scott@richrelevance.com>)
List pgsql-performance
> Its worth ruling out given that even if the likelihood is small, the fix is
> easy.  However, I don’t see the throughput drop from peak as more
> concurrency is added that is the hallmark of this problem — usually with a
> lot of context switching and a sudden increase in CPU use per transaction.

The problem is that the proposed "fix" bears a strong resemblence to
attempting to improve your gas mileage by removing a few non-critical
parts from your card, like, say, the bumpers, muffler, turn signals,
windshield wipers, and emergency brake.  While it's true that the car
might be drivable in that condition (as long as nothing unexpected
happens), you're going to have a hard time convincing the manufacturer
to offer that as an options package.

I think that changing the locking behavior is attacking the problem at
the wrong level anyway.  If someone want to look at optimizing
PostgreSQL for very large numbers of concurrent connections without a
connection pooler... at least IMO, it would be more worthwhile to
study WHY there's so much locking contention, and, on a lock by lock
basis, what can be done about it without harming performance under
more normal loads?  The fact that there IS locking contention is sorta
interesting, but it would be a lot more interesting to know why.

...Robert

pgsql-performance by date:

Previous
From: Scott Carey
Date:
Subject: Re: Proposal of tunable fix for scalability of 8.4
Next
From: Greg Smith
Date:
Subject: Re: Proposal of tunable fix for scalability of 8.4