異なる ConnectionPool 実装のパフォーマンス特性を比較する情報を誰かが持っていますか?
バックグラウンド: 同じボックスの mysql インスタンスに対してバックグラウンド スレッドで db 更新を実行するアプリケーションがあります。データソース com.mchange.v2.c3p0.ComboPooledDataSource を使用すると、時折 SocketExceptions: com.mysql.jdbc.CommunicationsException: 基礎となる例外による通信リンク障害が発生します:
** BEGIN NESTED EXCEPTION **
java.net.SocketException
MESSAGE: Broken pipe
STACKTRACE:
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
mysql 接続タイムアウトを増やすと、これらのエラーの頻度が増加しました。
これらのエラーは、別の接続プール (com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource) に切り替えると消えました。ただし、パフォーマンスは低下する可能性があり、メモリ プロファイルは著しく低下します (c3p0 プールよりも GC が少なく、はるかに大きくなります)。