[pgsql-jp: 40305] Re: SQL処理時間の計測について

戸川 一成 togawa @ kdl.co.jp
2010年 6月 29日 (火) 15:01:57 JST


古跡様

お世話になっております。
戸川と申します。

ご回答頂きまして、有難うございます。
連絡が遅くなり申し訳ありません。

> どの取得方法を使用しても、基本的には全て正しいです。
> クライアントとサーバ間のデータ通信を含むか含まないかの違いが主に現れているだけです。
> 
> 2 と 3 はクライアントとサーバ間のデータ通信は含まれてませんが、
> 1 はクライアントとサーバ間のデータ通信は含まれています。
> 
> どれか一つの方法に固定して使用されてはいかがでしょうか?

異なる理由が明確になり次第、一つの取得方法で計測する予定です。
開発メンバーが誰でも、取得したいときに取得できる方法にしたいと考えています。


> 4 と 3 は同じになりそうなのですが、顕著な差がでましたでしょうか?
> pg_stat_statements の作者の方からコメントがあるかもしれません。

2.と4.はほぼ同じ(誤差は±1ms)です。

ですが、3.と4.では以下の違いがありました。
3.の結果:1011.281 ms
4.の結果: 765.851 ms


アプリに組み込んだ後に画面動作が遅く問題になるのを避けたい為、
SQL処理の実行時間を計測するのが目的になります。
ですので、計測時間が正確な取得方法を知りたかった次第です。



以上、宜しくお願い致します。


> 戸川様
> はじめまして、古跡と申します。
> 
> > SQL文の実行時間を取得したいのですが、どの取得方法が正しいのか解らない為、
> > ご教授ください。
> >
> > 1.psql で\timingを実行し、計測したいSQL文を流す。
> > 2.explain analyze の処理時間
> > 3.postgresql.conf の log_destination = ’syslog’としたログ出力結果の処理時間
> > 4.pg_stat_statements のSQLプロファイリングより得られる処理時間
> >
> > 現状把握している取得方法は以上になります。
> > それぞれ取得した場合に、実行結果が異なった為、
> > 質問させて頂きました。
> 
> どの取得方法を使用しても、基本的には全て正しいです。
> クライアントとサーバ間のデータ通信を含むか含まないかの違いが主に現れているだけです。
> 
> 2 と 3 はクライアントとサーバ間のデータ通信は含まれてませんが、
> 1 はクライアントとサーバ間のデータ通信は含まれています。
> 
> どれか一つの方法に固定して使用されてはいかがでしょうか?
> 
> 4 と 3 は同じになりそうなのですが、顕著な差がでましたでしょうか?
> pg_stat_statements の作者の方からコメントがあるかもしれません。
> 
> -- 
> --------------------------------------
> Tomohito Koseki <koseki @ sraoss.co.jp>
> SRA OSS, Inc. Japan
> http://www.sraoss.co.jp/
> --------------------------------------

/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  株式会社 神戸デジタル・ラボ    URL:http://www.kdl.co.jp
  ICTソリューション部
    戸川 一成  (Kazunari Togawa)  mail:togawa @ kdl.co.jp
  
  ◆神戸本社
        〒650-0033 神戸市中央区江戸町93番 栄光ビル5F
        TEL:078-327-2280 / FAX:078-327-2278
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
貴社のWebサイトは安全ですか?
KDLのProactiveDefenseで脆弱性チェックを!
  →http://www.proactivedefense.jp/



pgsql-jp メーリングリストの案内