*

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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

facebook for PHP SDKを使ってCakePHPでログアウトとポストする方法

ソチオリンピックではスノーボード・ハーフパイプで平野さん・平岡さんが初のメダル獲得をしました

記事を読む

【wordpress:プラグイン】会員制サイトを作るのでBuddyPressをインストールしてみた

今ちょっと温めてるアイデアがあって、それを実現させるために会員制サイトを作ろうと思います。

記事を読む

ブログでアクセス増やすためにはやっぱりタイトルと記事が重要らしい件

最近はアクセス数にも気をつけてるので、ブログのアクセスを増やす方法が書かれた記事が気になりま

記事を読む

postgresqlデータベースにインデックスを作成する方法

ビットコインが取引停止になったり、LINEがスタンプを自由に作れるようにしたり、何かとにぎや

記事を読む

【体験談】6年間禁煙を続けられた自分の、禁煙の始め方

4月1日から消費税が8%になり、日用品への影響が少しずつ出てきているころです。 自分はお酒

記事を読む

no image

ec-cubeで欲しい機能

仕事で、ec-cubeを触っている。どこの企業でも同じだと思うが、ec-cubeを使っているとカスタ

記事を読む

no image

wordpressからbloggerに引越し

lolipopで使っているロリポプランは、DBが一つしか使用できない。もうちょっと有効に使えないかと

記事を読む

no image

webアプリの行方

Google Appsの説明会に行ったとき、「Googleのサービスはweb100%を目指し

記事を読む

cakephpでユーザ定義定数を読みだす方法

サイトを作るにあたって、定数を使いたいときがよくあります。 サイト上のある数値に変更があっ

記事を読む

no image

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

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

記事を読む

Google AD

Google AD

PAGE TOP ↑