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
関連記事
-
-
さくらでcakephpを使って500internal server errorが出る場合の対応
こんにちは! 今日は節分ですね。自分の子供のころ、節分と言えば豆まきだったわけですが、近ご
-
-
オブジェクトとクラスについて
基本的なところをちょっと復習。 下記あたりが参考になったのでメモ。 http://www.k
-
-
moodleをインストールしてみた
Eラーニングの話題が上がったので、調査のためMoodleをインストールしてみました。 1.
-
-
lolipop(ロリポップ)でTinyTinyRSSを導入 その2
前回、ロリポップでTiny Tiny RSSを導入しましたが、今回は導入したシステムに、Go
-
-
cakephpでユーザ定義定数を読みだす方法
サイトを作るにあたって、定数を使いたいときがよくあります。 サイト上のある数値に変更があっ
-
-
WEBディレクター、WEBエンジニア募集してます。
いっしょにWEB制作やりましょう! クライアント駐在(派遣) 場所:都営大江戸線
-
-
CakePHPでFacebook-PHP-SDKを使ってFacebookログインするアプリの作り方
こんにちは! 昨日は東京では45年ぶりに大雪が降りましたね! 自分の家の方でも雪が2
-
-
ワードプレスのプラグイン初作成
タイトルのとおり。ワードプレスのプラグインを作ってみました。仕事でEC-CUBE使って販売をしている
-
-
postgresqlデータベースにインデックスを作成する方法
ビットコインが取引停止になったり、LINEがスタンプを自由に作れるようにしたり、何かとにぎや
-
-
ec-cubeで欲しい機能
仕事で、ec-cubeを触っている。どこの企業でも同じだと思うが、ec-cubeを使っているとカスタ


RSS