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を使ったコネクションプーリングの有無で性能を比較す
![コネクションプーリングの効果を実測してみる - n-agetsumaの日記](https://cdn-ak-scissors.b.st-hatena.com/image/square/0a4f963158e9a1009819cfc916728f6085ed15ad/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fn%2Fn_agetsuma%2F20140216%2F20140216145517.png)