postgresqlのスロークエリ(スローログ)を取得する
公開日:
:
WEBサービス, テクニック log_min_duration_statement, PostgreSQL, スロークエリ, スローログ, 取得
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
関連記事
-
-
vertical-alignで画像とテキストの位置を垂直方向で揃える
これも自分のリマインダー用としてエントリー。 画像とテキストが同じ行に並んでいて、垂直
-
-
SVNリポジトリでコミットできなかった件
ベンダーさんに、先日立てたSVNリポジトリにコミットできないと連絡いただき、調べたところ、権限が
-
-
【体験談】6年間禁煙を続けられた自分の、禁煙の始め方
4月1日から消費税が8%になり、日用品への影響が少しずつ出てきているころです。 自分はお酒
-
-
「おっ」と思った記事
前回に引き続き、「おっ」と思ったサイトを紹介します。今回はデザインうんぬんでなく、コンテンツの方で。
-
-
wordpressからbloggerに引越し
lolipopで使っているロリポプランは、DBが一つしか使用できない。もうちょっと有効に使えないかと
-
-
【解説】Googleウェブマスターツールの使い方
サイトの分析やアクセス解析のツールと言えばGoogleAnalyticsですよね。 このブ
-
-
zenphotoを入れてみる
これまでの写真データ管理にはGoogleのWEBアルバムを使ってきたが、無料で使えるのは1GBまでだ
-
-
アマゾンのクラウド(AWS)を使ってみる その2
前回、アマゾンのクラウド(AWS)を使ってみる で何も無い所からEC2を立ち上げましたが、そのあ
-
-
zenphotoを考え始める
googleのwebアルバムを使っていて、こりゃ便利じゃわい、と思ってたけど、結局完全に無料じゃない
-
-
PHP:GDでテキストの画像合成アプリ作った
前回のNO MUSIC, NO LIFE.メーカーに続き、テキストを入力して画像化するアプリ