[pgpool-general-jp: 1246] Re: pgpoolで発行されるSQLについて

Tatsuo Ishii ishii @ sraoss.co.jp
2013年 12月 18日 (水) 11:02:22 JST


石井です。

> 貞永と申します。
> 
> pgpool-II 3.3.1およびpostgresql9.3.0を使い、ストリーミングレプリケーションとロードバランシングの構成を組んだシステムにて、
> 時間のかかっているSQLを調査していたのですが、下記のようなSQLが600秒とか500秒近くかかっているものが何件かありました。(過去には15時間という時もありました)
> 
> SELECT count(*) FROM pg_catalog.pg_class AS c WHERE c.relname = 'ユーザーテーブル名'
> AND c.relpersistence = 'u'
> 
> こちらのメーリングリストの過去ログなどでpgool-IIが管理用に発行しているもののようなのですが、幾つか確認・質問があります。
> 
> 1.このSQLはpgpool-IIから発行しているものかどうか

はい、pgpool-IIが発行しています。

> 2.pgpool-IIから発行している場合、どのようなタイミングで発行されるのか

そのセッションの中で、「ユーザーテーブル名」が最初にクエリの中で利用される時です。

> 3.このSQLが長時間かかっていることがアプリケーションシステムへの影響はないのか(ほっておいていいものかどうか
)

あります。このクエリが終了しないと、実行されるはずだったユーザのクエリ
も実行されません。

> 4.このSQLが長時間かからないように改善する方法はないのか

通常はこのようなことは起こらないはずなので、バグか設定の問題だと思われ
ます。この時間のかかっているクエリを発行しているpgpool-II子プロセスと同
じpidの子プロセスの少し前のログがあれば何かわかるかもしれません。

ところで気になるのは、pgpool_regclassがインストールされていないように見
受けられることです。まずはpgpool_regclassがインストールしてください。

> ご存知の方がおられましたら教えて下さい。
> 
> よろしくお願いします。
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp


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