アイドル接続が多すぎると、PostgreSQL 9.2のパフォーマンスに影響しますか?


8

データベースサーバーでのクエリの応答に時間がかかるようで、CPU使用率が高いと思います。を実行するとps aux、約250の「アイドル」接続が表示されます(多すぎると思われます)。私は完全な診断を始めていませんが、これが探し始めるのに良い場所かどうか知りたいと思っていました。

また、PgBouncerをトランザクションレベルのプールで使用しています。idleプールサイズを調整することで、接続数を簡単に減らすことができると思います。ただし、正当な理由がない限り、あまり多くの変更を開始したくありません。

idlePostgreSQL 9.2の多くの接続がパフォーマンスに影響を与える可能性はありますか?

どうもありがとう!


「アイドル接続が多すぎる」とはどういう意味ですか?何ダース?何百?
jap1968 2013

編集された質問。これを指摘してくれてありがとう。明確にするために、最後のカウントは約250でした
Juan Carlos Coto

多分?ここのOracle DBAは、開発データベースの実行が非常に遅くなったときに、すべてのウィンドウに対して新しいセッションではなく、すべてのウィンドウに対して単一のセッションを使用するように開発ツールを設定するように人々に求めてきたことを知っています。「多すぎる」と見なされる正確な数は、おそらくデータベースで使用可能なリソースによって異なります。
FrustratedWithFormsDesigner 2013

回答:


3

アイドル接続が問題であることを真剣に疑っています。PostgreSQLはほとんどリソースを必要としないため、アイドルセッションを非常に処理できます。一方、アクティブなセッションは、速度低下の原因である可能性が高くなります。

参照https://wiki.postgresql.org/wiki/Number_Of_Database_Connectionsをデータベース接続の数に参考のために。


コミットされていないトランザクションのアイドルセッションは、多くの場合、いたずらの犯人です。
Philᵀᴹ

Philも同意しますが、これは実際にはPostgreSQLに関するものではありません。それは、クライアントエンドの記述方法に関するものです(私が何かを見落としている場合を除きます)。
Max Vernon

これに関する関連質問を参照しください。あなたがそれにピッチした場合、それは本当に助けになるでしょう。ありがとう!
ファンカルロスコト2013

実際にアイドル状態の接続には(メモリ)オーバーヘッドがたくさんあるため、回避する必要があります(接続ごとに約10 MBが割り当てられるため、少なくとも
2.5 GB

1
@MaxVernon-私の実行中のpostgresql 9.5サーバーでは、RES列に対して、25個のアイドルプロセスがあります。プロセスは平均で約12MBです(範囲:4.5MB-584MB、より大きいものはコミットされていないtxを持っていると思います)。
cerd
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.