« [postgresql] やる夫がDBのユーザ管理をするようです。 | トップページ | [sendmail] やる夫がsendmailで転送設定をするようです。 »

2007-12-27

[postgresql] やる夫がpqaでスロークエリを見やすくするようです。

pqa コマンド

pqaとは、postgreslogを見やすくするツールです。rubyで書かれているようです。postgreslogは、スロークエリー情報を記載したログで、postgresql.confの設定で" 出力情報を変えることが出来ます。

         ____
       /      \  
     /  _ノ  ヽ、_  \ 
    / o゚((●)) ((●))゚o \  
    |     (__人__)    |   一向にスロークエリが改善されないお
    \     ` ⌒´     /
   /´           `\
  /  /          l  l   .___
__l  l_¶______/_/__/     ヽ
  \, ´-'ヽ  ̄| ̄ ̄ ̄ ̄|   l二二二二l
    ヾ_ノ   | '''' '   |   l二二二二l
   | 9=ε-8. | '''..--  |   l二二二二l:::..
   |   ..''  |  ''-.  ,|

postgresql.conf 設定

デフォルトの設定だとスロークエリとして、ログに出力されない場合がある・・・。もとい何秒以上かかったクエリをログとして出力するように、”postgressql.conf”に記載されています、デフォルトは確か”6000msec”だった気がします。閾値は状況に応じて編集する必要があります。下記は”15000msec”に設定しています。postgresqlのデータディレクトリは”/usr/local/PGData”とします。

# vi /usr/local/PGData/postgresql.conf
-----
log_min_duration_statement = 1500000    # slowestquery 1500sOver
-----

# su - postgres
$ /usr/local/pgsql/bin/pg_ctl reload

  • 設定後は、pgctl reloadを必要とします(サービスが止まるわけではない)。

pqa ログ出力

# pqa -logtype pglog -file postgresql-Wed.log
# pqa -logtype pglog -file postgresql-Wed.log > /home/bin/postgresql.20070124.log

  • こんな感じで・・・。

ログ内容

######## Overall statistics <-- 一番長い時間のかかったクエリTime
1 queries (1 unique), longest ran in 2070.645574 seconds), parsed in 0.234787 seconds
######## Queries by type
######## Queries that took up the most time <-- 遅いクエリ一覧
2070.646 seconds: COPY public.mt_hogehoge (hogehoge_id, hogehoge_type, hogehoge_user_id, hogehoge_data) TO stdout;
######## Slowest queries
2070.646 seconds: COPY public.mt_hogehoge (hogehoge_id, hogehoge_type, hogehoge_user_id, hogehoge_data) TO stdout;
######## Most frequent queries <-- 良く使われるクエリです。
1 times: COPY public.mt_hogehoge (hogehoge_id, hogehoge_type, hogehoge_user_data TO stdout;

----------------------------------------

オープンソースを使ったデータベースの構築―ApacheサーバとPostgreSQLでデータベース
藤田 泰徳 山崎 文則
セレンディップセレンディップセレンディップ
定価 : ¥ 3,675
2000-09
amazonで詳しく見る

|

« [postgresql] やる夫がDBのユーザ管理をするようです。 | トップページ | [sendmail] やる夫がsendmailで転送設定をするようです。 »

PostgreSQL」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/488651/9590519

この記事へのトラックバック一覧です: [postgresql] やる夫がpqaでスロークエリを見やすくするようです。:

« [postgresql] やる夫がDBのユーザ管理をするようです。 | トップページ | [sendmail] やる夫がsendmailで転送設定をするようです。 »