今回のワンポイント データベースアクセスを減少させるために、アクセスが頻発する参照データをキャッシュに入れた。しかし、期待とは異なり性能が落ちてしまった。メモリをキャッシュのために使いすぎる弊害と、コネクションプールの有効な使い方を学ぶ。 キャッシュを使っているのにパフォーマンスが落ちる あるシステムでは、データベースアクセスを少なくしようと、参照するデータをアプリケーション・サーバの起動時にデータベースから取得しメモリ上に保持していた。これは、別に悪い考え方ではない。データベースへのアクセス回数の削減は、性能向上につながるからである。しかし、このシステムではそうならなかった。ガーベジコレクション(GC)が頻発し、OutOfMemoryErrorまで発生してしまった。性能向上どころか、むしろ問題を増やしてしまったのである。アプリケーションでデータをキャッシュする場合、メモリ容量の見積もりが