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
関連記事
-
-
「おっ」思ったWEBデザイン
ちょっと調べることがあったのでメモ。■株式会社テトラシーンhttp://www.tetratone.
-
-
facebook for PHP SDKを使ってCakePHPでログアウトとポストする方法
ソチオリンピックではスノーボード・ハーフパイプで平野さん・平岡さんが初のメダル獲得をしました
-
-
佐々木俊尚さんの講演:ソーシャルとクラウドとグローバル
11月17日、Hitachi Open Middleware World Cloud Day に参
-
-
【なぜ?!】ブログの直帰率が激減しました【GoogleAnalytics】
少し前から気づいていましたが、このブログの直帰率が激減しました。 まずはこちらの図表からどうぞ。
-
-
【今さら】ブラインドタッチができるようになるまでにやった3つの事【もういいでしょ】
過去、仕事で一緒になった人がブラインドタッチが苦手だということがありました。 両手の人差し
-
-
cakephpでviewからログイン判定してアカウント表示する機能
cakephpのログイン機能を、viewから判定させたかったので調べてみました。 よく
-
-
【wordpress:プラグイン】会員制サイトを作るのでBuddyPressをインストールしてみた
今ちょっと温めてるアイデアがあって、それを実現させるために会員制サイトを作ろうと思います。
-
-
cakephpでPHPのタイムゾーン設定してないとエラーが出る件
ロリポップからさくらにサーバを変えたのは先日のエントリーの通りですが、サーバ環境が違うことでca
-
-
嫌われている人から好かれようと思わなくていいんだという件
自分用にちょっとしたライフハックに気づいたので、リマインダーとしてエントリー。 それは「嫌
-
-
eclipseのリソース名を変更する
ちょっとキョドったのでエントリー。 1. eclipse > エクスプローラー から名前を変更