Linux サーバーと Postgres データベースの CPU 使用率が 100% になる

Linux サーバーと Postgres データベースの CPU 使用率が 100% になる

私は Postgres データベースをホストする Linux サーバー (Ubuntu 18.04) を使用しています。PostgreSQL により CPU 使用率が最大 100% になり、関連する Web サイトがダウンすることがありますが、サーバーを再起動するとサイトが正常に動作するようになります。

クエリを実行します:

SELECT
(now() - pg_stat_activity.query_start) as interval,  state
FROM pg_stat_activity

複雑なクエリを同時に実行し、サイト ナビゲーション要求に応答し、接続しているユーザーの数に応じて結果が異なります。

問題は、接続ユーザーの数が増加するとサイトがブロックされ、データベース サーバーを再起動すると正常に動作するようになることです。

この問題を解決する方法を教えてください。

サーバーのRAMは23GB以上です。

答え1

共有メモリだけでなく接続プールも増やす必要があると思います。このリンクをクリックすると、適切な場所にたどり着くはずです。

https://stackoverflow.com/questions/30778015/how-to-increase-the-max-connections-in-postgres

しかし、振り返ってみると、これらのロックアップを引き起こすためにユーザーは何をしているのでしょうか?

関連情報