PostgreSQL のボトルネックを統計的に監視・解析する方法
先日書いた「MySQL のボトルネックを統計的に監視・解析する方法」について、PostgreSQL でも pg_stat_activity テーブルを使って実行中のクエリ一覧を取得できると higepon さんに教えてもらったので、やってみました。
% ppdump > ppdump.txt
のようにクエリをサンプリング (デフォルトで100秒間程度) して、
% ppfilter < ppdump.txt | ppreport
のようにすると、平均負荷の高いクエリから順にソートされて表示されます。詳しい使い方や考え方については、mprofile のエントリをご参照ください。
pprofile のソースコードは、/platform/postgresql/pprofile – CodeRepos::Share – Tracに置いてあります。負荷が高い PostgreSQL 環境が手元にないので、ちゃんと統計が取れているかいまいち不安なのですが、興味のある方は、お試しいただければ幸いです。
Comments