sql >> データベース >  >> RDS >> PostgreSQL

Apache Cayenne / PostgreSQL:クライアントが多すぎてすでにエラーが発生しています

    スタックトレースとコード例から、カイエンスタック(ServerRuntimeオブジェクト)を再利用しておらず、代わりに毎回新しいスタックを作成しているように見えます。遅いことに加えて、これはリソースリークも引き起こします。各ServerRuntimeは、シャットダウンしない独自の接続プールを保持します。そのため、遅かれ早かれ、PostreSQLサーバーは開いている接続でオーバーフローします。

    解決策は、ServerRuntimeをアプリスコープのシングルトンに変換し(たとえば、AccountsDBRuntimeの静的変数にする)、新しいObjectContextが必要なときにいつでも再利用することです。




    1. MySQL接続プール数

    2. .NETでOracle.DataAccessのファイルまたはアセンブリを読み込めませんでした

    3. MySQLで動作するように正規表現を適応させる

    4. LinuxでMySQLデータベースのサイズを確認する方法