*

postgresqlのスロークエリ(スローログ)を取得する

PostgreSQL-9

45年ぶりの雪が、1週おきに降るってどういうことでしょうか?
とは言え、雪が降るといつもと違う雰囲気が楽しめます。
電車が止まったりして交通に影響がでるのは勘弁ですが・・・

さて、ちょっと仕事でpostgresqlの調べものをしたので、自分用のメモとしてエントリーします。
さっそく行きます。

まず、postgresqlのコンフィグファイルを編集します。

下記は自分の環境でのパスなので、適時置き換えてください。

vi /var/lib/pgsql/data/postgresql.conf

log_directory = 'pg_log'
log_filename = 'postgresql-%a.log'

おそらく通常のログが取れていれば、上記の表記になっていると思います。

log_min_duration_statement = 3000

大切なのはここです。
この「log_min_duration_statement」パラメータで、指定の時間を超えたSQLがあった場合に、実行時間とログを記録します。
この場合では3000=3秒に設定しています。

まず3秒くらいにしてみてログをチェックしてみます。
これでログが出なくなるようにSQLを改善しましょう。

コンフィグファイルを変えたら、Postgresqlを再起動します。

/etc/init.d/postgresql restart

再起動したら、対象のサイトを見てみます。
サイトを見たら、早速ログを見てみます。

どうでしょうか?
ログに秒数とSQL文が出てるでしょうか?

もし出ていたら、それが指定の時間を超えたSQLです。
何かしら問題のあるSQLだと考えられますので、SQLを改善してみましょう。
(SQLの改善についてはまた今度・・・)

SQLを改善していって、スローログが出なくなったら、パラメータを1000=2秒、1秒と、徐々に設定しています。
1秒でログが出なくなったら、結構パフォーマンスも改善していると思います。

Google AD


Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

アマゾンのクラウド(AWS)を使ってみる

前々からやろうやろうと思っていて手を着けられていなかったサービス、アマゾンウェブサービス(AWS

記事を読む

PVが3000を超えたので3か月やったこととを公表します

ウクライナ情勢が緊迫している昨今、皆様お元気でしょうか? 自分のブログには大きな変化がありました。

記事を読む

facebook logo

facebookでログイン機能を作成してみた

最近の会員サイトには、facebookでログインする、という機能がよくついてます。 この機能が

記事を読む

no image

zenphotoを考え始める

googleのwebアルバムを使っていて、こりゃ便利じゃわい、と思ってたけど、結局完全に無料じゃない

記事を読む

no image

windows7のxamppでvirtual hostを設定する

忘れないように忘れてもいいようにエントリー。 タイトルの通りです。 c:/xampp/a

記事を読む

no image

佐々木俊尚さんの講演:ソーシャルとクラウドとグローバル

11月17日、Hitachi Open Middleware World Cloud Day に参

記事を読む

no image

eclipseのリソース名を変更する

ちょっとキョドったのでエントリー。 1. eclipse > エクスプローラー から名前を変更

記事を読む

no image

img画像に隙間(空間)ができる件

何度か経験してそのたびにイラッときたので自分用にエントリー。 スタイルシートで下記のように記述

記事を読む

no image

オブジェクトとクラスについて

基本的なところをちょっと復習。 下記あたりが参考になったのでメモ。 http://www.k

記事を読む

cakephp2にACLプラグインを入れてみた

cakephpで、ユーザーによって権限やアクセスを変えたりする方法を調べてたら、それ用のプラ

記事を読む

Google AD

Google AD

PAGE TOP ↑