PostgreSQLデータベースに接続しているSpring Bootアプリケーションの問題をトラブルシューティングしています。アプリが正常に動作しますが、かなり適度な負荷の下では、このようにエラーを記録し始めます。これは、PostgreSQLのRDSに接続するAmazon EC2インスタンス上で実行されているSpringブート/ Amazon PostgreSQL RDS接続プールの問題
java.sql.SQLException: Timeout after 30000ms of waiting for a connection.
。アプリは以下のように設定されている:AWSコンソールで
spring.datasource.url=jdbc:postgresql://[rds_path]:5432/[db name]
spring.datasource.username=[username]
spring.datasource.password=[password]
spring.datasource.max-active=100
、私は、データベースへのアクティブな60個の接続を参照してください、それはいくつかの春ブーツのアプリ(すべてではない、このアプリ)を越えています。 pg_stat_activityを使って現在の活動をデータベースに照会すると、アイドル状態の1つまたは2つ以外のすべての接続が表示されます。これは、春のブートアプリケーションのすべての利用可能な接続を使用していないようですか?あるいは何らかの形で接続が漏れていますか?私はpg_stat_activityが非常に多くのアイドル状態の接続をどのように表示し、アプリケーションが接続プールのタイムアウトを取得しているかを解釈しようとしています。
おそらくファイアウォールの問題です。アプリケーションサーバーのポートを開いてもよろしいですか? –
申し訳ありませんが、私の記事を明確にしました。一部の負荷の下でのみ、アプリケーションに接続エラーが発生します。 – Mike