Thread: slow server : s_lock and _bt_checkkeys on perf top
Hello All,
Master db size 1.5 TB
--
Soni Maula Harriz
All postgres 9.1.13 installed from RHEL package.
It has streaming replica and slony replica to another servers.
Server performance is slower than usual, before that, there's a big query got cancelled and then performance get slow.
No sign of IO wait.
on sar, it's %user and %system dominate the cpu usage
01:25:04 PM CPU %user %nice %system %iowait %steal %idle
Average: all 51.91 0.00 12.03 0.66 0.00 35.39
on perf top, i saw
18.93% postgres [.] s_lock
10.72% postgres [.] _bt_checkkeys
almost always at top.
I don't have any idea, what's causing it or how to resolve it ?
Any answer is very appreciated.
Regards,
On 3/4/15 1:31 PM, Soni M wrote: > Hello All, > > Master db size 1.5 TB > All postgres 9.1.13 installed from RHEL package. > It has streaming replica and slony replica to another servers. > > Server performance is slower than usual, before that, there's a big > query got cancelled and then performance get slow. > > No sign of IO wait. > > on sar, it's %user and %system dominate the cpu usage > 01:25:04 PM CPU %user %nice %system %iowait %steal > %idle > Average: all 51.91 0.00 12.03 0.66 0.00 > 35.39 > > on perf top, i saw > 18.93% postgres [.] s_lock > 10.72% postgres [.] _bt_checkkeys > almost always at top. _bt_checkkeys is the function that compares a row in a btree index to a condition. s_lock is a spinlock; the high CPU usage in there indicates there's heavy lock contention somewhere. Is there one PG process that's clearly using more CPU than the others? What else is running in the database? Are there any unusual data types involved? -- Jim Nasby, Data Architect, Blue Treble Consulting Data in Trouble? Get it in Treble! http://BlueTreble.com
On Wed, Mar 4, 2015 at 1:31 PM, Soni M <diptatapa@gmail.com> wrote: > Hello All, > > Master db size 1.5 TB > All postgres 9.1.13 installed from RHEL package. > It has streaming replica and slony replica to another servers. > > Server performance is slower than usual, before that, there's a big query > got cancelled and then performance get slow. > > No sign of IO wait. > > on sar, it's %user and %system dominate the cpu usage > 01:25:04 PM CPU %user %nice %system %iowait %steal > %idle > Average: all 51.91 0.00 12.03 0.66 0.00 > 35.39 > > on perf top, i saw > 18.93% postgres [.] s_lock > 10.72% postgres [.] _bt_checkkeys > almost always at top. > > I don't have any idea, what's causing it or how to resolve it ? Can you post the entire 'perf top'? do you see (specifically I'm wondering if you are bumping against the RecoveryInProgress s_lock issue). If so, upgrading postgres might be the best way to resolve the issue. merlin
Thanks All for the response, finally we figure it out. The slow is due to high number of dead rows on main table, repack these tables wipe out the issue.
On Mar 6, 2015 9:31 PM, "Merlin Moncure" <mmoncure@gmail.com> wrote:
On Wed, Mar 4, 2015 at 1:31 PM, Soni M <diptatapa@gmail.com> wrote:
> Hello All,
>
> Master db size 1.5 TB
> All postgres 9.1.13 installed from RHEL package.
> It has streaming replica and slony replica to another servers.
>
> Server performance is slower than usual, before that, there's a big query
> got cancelled and then performance get slow.
>
> No sign of IO wait.
>
> on sar, it's %user and %system dominate the cpu usage
> 01:25:04 PM CPU %user %nice %system %iowait %steal
> %idle
> Average: all 51.91 0.00 12.03 0.66 0.00
> 35.39
>
> on perf top, i saw
> 18.93% postgres [.] s_lock
> 10.72% postgres [.] _bt_checkkeys
> almost always at top.
>
> I don't have any idea, what's causing it or how to resolve it ?
Can you post the entire 'perf top'? do you see (specifically I'm
wondering if you are bumping against the RecoveryInProgress s_lock
issue). If so, upgrading postgres might be the best way to resolve
the issue.
merlin