Thread: AccessShareLock and Resource Contention
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?
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?
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?
> 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
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