Thread: AccessShareLock and Resource Contention

AccessShareLock and Resource Contention

From
maillists0@gmail.com
Date:
I have a 9.2 server that occasionally becomes CPU bound. Disk wait is nominal and there's no memory pressure. The workload is almost all reads and the cache hit rate is high.

For some one minute periods, my monitoring shows around 1.5k to 2k access share locks out of a total of 7.5 to 8k transactions. What's the best strategy for finding out if that is creating a bottleneck?

Re: AccessShareLock and Resource Contention

From
maillists0@gmail.com
Date:
Hit send on that one too soon. I see 6.5k access share locks out of 7.5k transactions.


On Tue, Nov 26, 2013 at 12:41 PM, <maillists0@gmail.com> wrote:
I have a 9.2 server that occasionally becomes CPU bound. Disk wait is nominal and there's no memory pressure. The workload is almost all reads and the cache hit rate is high.

For some one minute periods, my monitoring shows around 1.5k to 2k access share locks out of a total of 7.5 to 8k transactions. What's the best strategy for finding out if that is creating a bottleneck?

Re: AccessShareLock and Resource Contention

From
Alvaro Herrera
Date:
> On Tue, Nov 26, 2013 at 12:41 PM, <maillists0@gmail.com> wrote:
>
> > I have a 9.2 server that occasionally becomes CPU bound. Disk wait is
> > nominal and there's no memory pressure. The workload is almost all reads
> > and the cache hit rate is high.

Maybe you'd benefit from something like the patch proposed here:

http://www.postgresql.org/message-id/20131115194725.GG5489@awork2.anarazel.de
perhaps you can help test the patchset.


--
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services


Re: AccessShareLock and Resource Contention

From
Jeff Janes
Date:

On Tue, Nov 26, 2013 at 9:50 AM, <maillists0@gmail.com> wrote:
Hit send on that one too soon. I see 6.5k access share locks out of 7.5k transactions.


On Tue, Nov 26, 2013 at 12:41 PM, <maillists0@gmail.com> wrote:
I have a 9.2 server that occasionally becomes CPU bound. Disk wait is nominal and there's no memory pressure. The workload is almost all reads and the cache hit rate is high.


Do you see higher user time, or high system time?  What is the maximum number of concurrent connections you have?
 

For some one minute periods, my monitoring shows around 1.5k to 2k access share locks out of a total of 7.5 to 8k transactions. What's the best strategy for finding out if that is creating a bottleneck?

How are you monitoring?  What do those numbers mean, that you took that many access shared locks, or you held that many simultaneously at the peak, or that you blocked on them that many times? 

Cheers,

Jeff