Java EE アプリケーションサーバを使うとどの製品にもDBコネクションプーリング機能が付いている。DB接続の再接続にはコストがかかることがこの機能の動機だが、いったいどれくらいの『コスト』なのか。あまり実データを見たことないので、実際に測ってみる。 テスト環境 コストを実感しやすいように、DBには接続ごとに対応した子プロセスをfork()するPostgreSQLを使ってみる。 Mac OS X (Core i5 1.7GHz) OracleJDK 1.7.0_51 PostgreSQL 9.3 PostgreSQL JDBC Driver 9.3-1100-jdbc41 Commons DBCP 1.4 テスト内容 10多重で1回、100回、1000回、10000回の新規接続して SELECT 1 を投げるプログラムを実行する。DBCPを使ったコネクションプーリングの有無で性能を比較す