[pgpool-general-jp: 1155] Re: 管理用のクエリーを投げて固まる?現象

Tatsuo Ishii ishii @ sraoss.co.jp
2013年 5月 2日 (木) 13:43:56 JST


石井です。

> 長村と申します。
> 
> pgpool-II 3.2.4 を利用しています。
> ストリーミングレプリケーション環境なのですが、マスターDBの
> pg_stat_activityを見ると
> 
> SELECT count(*) FROM pg_catalog.pg_class AS c WHERE c.oid =
> pgpool_regclass('テーブル名') AND c.relpersistence = 'u'
> (ソースにISUNLOGGEDQUERY2で定義されているクエリーです。)
> 
> というクエリーを実行して数時間経過しているプロセスが確認できます。
> 放っておくと、そのまま数日でも残ったままとなります。
> しかしpgAdminIIIなどから実行しても、すぐに結果が帰ってきて、
> ロックするようなことはありません。
> pg_stat_activityのwaitingも f になっています。
> 
> 全てのクエリーが常に引っかかるわけでは無く、ほとんどのクエリーは
> きちんと動作しているようなのですが、ときどき結果が帰らず、
> 積もり積もっていつの間にか子プロセスが使い果たされるという状況です。
> pg_terminate_backendを使うと終了できますが、pgpoolのマニュアルには
> 使わないでと書いてあるので、多用するのをためらっています。

はい、pg_terminate_backendを使うとpgpool-IIにpostmasterを停止したのと同
じコードがPostgreSQLから返ってきてしまうので、pgpool-IIはそのサーバを切
り離してしまうからです。

> なにか原因となる部分が想定できますでしょうか?

再現性がないとすると、ちょっと原因はすぐにはわかりません。
pg_stat_activityで見て実行中という事は、pgpool-II側としてはPostgreSQLの
処理が終わるのを待っている状態ということなので、PostgreSQL側で何かが起
きていると思うのですが...

> ちなみに、サーバーへpgpoolのモジュールを組み込んでいないと
> ISUNLOGGEDQUERYの方を投げて、同様の症状が発生します。
> 
> 環境
> CentOS 6.3(マスタDB、スレーブDB、クライアント共)
> PostgreSQL9.2.4(ソースからビルド)
> pgpool-II 3.2.4、3.2.3以前でも発生します。
> 
> --
> +-----------------------------------------------------------------------+
>  NAME:長村善行   HANDLE:おさ
>  EMAIL :osa @ osa-p.net twitter:osapon URL:http://www.osa-p.net/
> +-----------------------------------------------------------------------+
> _______________________________________________
> pgpool-general-jp mailing list
> pgpool-general-jp @ sraoss.jp
> http://www.sraoss.jp/mailman/listinfo/pgpool-general-jp


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