[postgresql] やる夫がDB接続数を確認するようです。
接続数の確認方法について
DBに負荷がない場合は特に気にしなくてもよいのですが、現在の接続数とかが下記SQLで分かったりします。”IDLE”が多い場合は、特に問題はありません。”SELECT”が多い場合はちょっと要注意です。
スロークエリとかで引っ掛かったりすると”SELECT”が滞留し始めます。
____
/ \
/ _ノ ヽ、_ \ 最近DBのアラームが多いお
/ o゚((●)) ((●))゚o \
| (__人__) |
\ ` ⌒´ /
/´ `\
/ / l l .___
__l l_¶______/_/__/ ヽ
\, ´-'ヽ  ̄| ̄ ̄ ̄ ̄| l二二二二l
ヾ_ノ | '''' ' | l二二二二l
| 9=ε-8. | '''..-- | l二二二二l:::..
| ..'' | ''-. ,|
# psql
postgres=# select * from pg_stat_activity;
datid | datname | procpid | usesysid | usename | current_query | query_start | backend_start | client_addr | client_port
-------+----------+---------+----------+----------+---------------+---------------------+---------------------+--------------+------------
10793 | postgres | 9670 | 10 | postgres | <IDLE> | 2008-03-19 10:14:45 | 2008-03-19 10:13:57 | | -1
16387 | postgres | 9893 | 10 | postgres | <IDLE> | 2008-03-19 10:14:48 | 2008-03-19 10:14:46 | 127.0.0.1 | 48405
・
・
・
postgres=# \q
時間毎のログが出力されているので、こちらでも確認できます。”idle”や”select”をgrepしてみて下さい。下記例では3/19 10:25頃の接続数を調べています。”select”数が12と少なく、特にクエリが滞留していないことを意味しており、正常とみなすことが出来ます。
# cd /usr/local/yaruo/work/pg_stats/0319
# ls -l pg_stat_activity.0319_10*
-rw-r--r-- 1 postgres postgres 236907 3月 19 10:00 pg_stat_activity.0319_1000
-rw-r--r-- 1 postgres postgres 248545 3月 19 10:05 pg_stat_activity.0319_1005
-rw-r--r-- 1 postgres postgres 330576 3月 19 10:10 pg_stat_activity.0319_1010
-rw-r--r-- 1 postgres postgres 427956 3月 19 10:15 pg_stat_activity.0319_1015
-rw-r--r-- 1 postgres postgres 257137 3月 19 10:20 pg_stat_activity.0319_1020
# grep -c -i idle pg_stat_activity.0319_1025
363
- max_connections 512
- ピーク時間帯の同時接続 300程度 を想定したものとします。
たぶんですが、この場合だと”select”数が100以上になると要注意かと思います。pqaでログとるとバコバコスロークエリが引っ掛かると思います。新たにindexの追加をするか、DBスキーマ変更した方がよいんじゃないかなぁ~?
----------------------------------------
オープンソースを使ったデータベースの構築―ApacheサーバとPostgreSQLでデータベース![]() |
| 藤田 泰徳 山崎 文則 セレンディップセレンディップセレンディップ 定価 : ¥ 3,675 2000-09 amazonで詳しく見る |
| 固定リンク
「PostgreSQL」カテゴリの記事
- [postgresql] やる夫がDBのユーザ管理をするようです。(2007.12.27)
- [postgersql] やる夫はsql結果の実行時間を出力させたいようです。(2008.03.04)
- [postgresql] やる夫がmax_connectionsの設定をするようです。(2008.03.11)
- [postgresql] やる夫がDB接続数を確認するようです。(2008.03.19)
- [postgersql] やる夫がDBにアクセス制限をかけるようです。(2008.03.24)


コメント