Re: slow server : s_lock and _bt_checkkeys on perf top

From: Jim Nasby <Jim(dot)Nasby(at)BlueTreble(dot)com>
To: Soni M <diptatapa(at)gmail(dot)com>, "pgsql-performance(at)postgresql(dot)org" <pgsql-performance(at)postgresql(dot)org>
Subject: Re: slow server : s_lock and _bt_checkkeys on perf top
Date: 2015-03-06 01:29:26
Message-ID: 54F902F6.6040608@BlueTreble.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

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

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Jim Nasby 2015-03-06 01:40:51 Re: PG 9.3 materialized view VS Views, indexes, shared memory
Previous Message Tom Lane 2015-03-06 00:44:54 Re: EXPLAIN (no ANALYZE) taking an hour for INSERT FROM SELECT