web-dev-qa-db-ja.com

PGPoolの頻繁なクエリ

最近、PGPoolを前に置いたPostgreSQLクラスターをセットアップしました。そんなことは初めてです。新しいPGPoolを使用するようにQA環境をセットアップし、Postgresqlサーバーのログをクランクアップして、pgBadgerをポイントし、状況を確認できるようにしました。

最小限の使用で、24時間のロギングではなかった後、pgBadgerは今朝このレポートを表示しました。

enter image description here

それは私にはばかげているようです。最初の3つの上位クエリは、アプリケーションやアプリケーションユーザーとは何の関係もないように見えますが、それらはすべて、アプリケーションがそれらを扇動したと非難しています。

PGPoolは、アプリケーションがそれを扇動するときにバックグラウンドでこれを実行していると想定しますが、それでも... QAアプリケーションが369K回扇動する方法はありません。確かに、これらに費やされる時間はごくわずかであり、1日を通して24秒すべてです。

ただし、以下を把握したいと思います。

  • PgPoolからこの量のトラフィックが表示されるのはなぜですか?
  • これが拡大することを期待できますか?現在、使用量が非常に少ない単一のQADBがあります。このクラスターで200の本番データベースを実行すると、何が期待できますか?
  • アプリケーションによって本当に引き起こされたクエリをより簡単に解析するために、posgtresqlがpgpoolからこれらのタイプのクエリをログに記録しないようにする簡単な方法はありますか?
  • まだ聞いていない質問が他にありますか?
2
bubba

これらはPGPoolによって発行されたものではないと思います。それらはあなたのアプリケーションによって引き起こされていると思います(これはPHPで書かれていて、ある種のORMで実行されていると思います)。

最初のエントリはDEALLOCATEです。これは、準備されたステートメントからメモリを解放するようにサーバーに効果的に指示することを意味します。これらは、いくつかのPDOモジュールを介して発行されているように見えます。

2番目と3番目のクエリは、ORM関連のマッピングクエリのように見えます。アプリケーションは、これらのクエリが実行中のフレームワークによって発行されていることに気付いていない可能性がありますが、これらのクエリは、ORMまたは同様の環境でのみ実際に意味があります。

1
Chris Travers