Обсуждение: How to diagnose a “context-switching ” storm problem ?

Поиск
Список
Период
Сортировка

How to diagnose a “context-switching ” storm problem ?

От
RD黄永卫
Дата:

Hi

    My database server get sluggish suddenly I check the vmstat as below

 

2010-04-07 04:03:15 procs                      memory      swap          io     system         cpu

2010-04-07 04:03:15  r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa

2010-04-07 14:04:27  3  0      0 2361272 272684 3096148    0    0     3  1445  973 14230  7  8 84  0

2010-04-07 14:05:27  2  0      0 2361092 272684 3096220    0    0     3  1804 1029 31852  8 10 81  1

2010-04-07 14:06:27  1  0      0 2362236 272684 3096564    0    0     3  1865 1135 19689  9  9 81  0

2010-04-07 14:07:27  1  0      0 2348400 272720 3101836    0    0     3  1582 1182 149461 15 17 67  0

2010-04-07 14:08:27  3  0      0 2392028 272840 3107600    0    0     3  3093 1275 203196 24 23 53  1

2010-04-07 14:09:27  3  1      0 2386224 272916 3107960    0    0     3  2486 1331 193299 26 22 52  0

2010-04-07 14:10:27 34  0      0 2332320 272980 3107944    0    0     3  1692 1082 214309 24 22 54  0

2010-04-07 14:11:27  1  0      0 2407432 273028 3108092    0    0     6  2770 1540 76643 29 13 57  1

2010-04-07 14:12:27  9  0      0 2358968 273104 3108388    0    0     7  2639 1466 10603 22  6 72  1

 

   My postgres version: 8.1.3;

My OS version: Linux version 2.4.21-47.Elsmp((Red Hat Linux 3.2.3-54)

My CPU:

processor       : 7

vendor_id       : GenuineIntel

cpu family      : 15

model           : 6

model name      : Intel(R) Xeon(TM) CPU 3.40GHz

stepping        : 8

cpu MHz         : 3400.262

cache size      : 1024 KB

physical id     : 1

 

 

I donnt know what make the context-switching  storm

How should I investigate  the real reason ?

Could you please give me some advice ?

 

Best regards,

Ray Huang

 

 

Re: [PERFORM] How to diagnose a “context-switching ” storm problem ?

От
Sergey Konoplev
Дата:
2010/4/12 RD黄永卫 <yongwei_huang@temp.gtmc.com.cn>:
> I donnt know what make the "context-switching"  storm ?
>
> How should I investigate  the real reason ?
>
> Could you please give me some advice ?

It might be because of cascading locks so try to monitor them when it happens.

You may find this query useful:

SELECT
    granted,
    count(1) AS locks,
    pid,
    now() - xact_start AS xact_age,
    now() - query_start AS query_age,
    current_query
FROM
    pg_locks AS l
    LEFT JOIN pg_stat_activity AS a ON
        pid = procpid
GROUP BY 1, 3, 4, 5, 6
ORDER BY 1 DESC, 2 DESC
-- ORDER BY 4 DESC
LIMIT 100;


--
Sergey Konoplev

Blog: http://gray-hemp.blogspot.com /
Linkedin: http://ru.linkedin.com/in/grayhemp /
JID/GTalk: gray.ru@gmail.com / Skype: gray-hemp / ICQ: 29353802

Re: How to diagnose a *context-switching * storm problem ?

От
"Kevin Grittner"
Дата:
RD黄永卫<yongwei_huang@temp.gtmc.com.cn> wrote:

> My database server get sluggish suddenly

> [vmstat output showing over 200,000 context switches per second]

>    My postgres version: 8.1.3;

Upgrading should help.  Later releases are less vulnerable to this.

> Could you please give me some advice ?

A connection pooler can often help.  (e.g., pgpool or pgbouncer)

-Kevin