私は、約100のマップされたクラスを持つHibernate永続ライブラリを使用するJavaアプリケーションを持っています。第2レベルのキャッシングを試すために、マップされたクラスのうちの5つに@Cacheableを追加しました。これにより、標準的な計算タスクは、以前に使用していた時間の2倍を要しましたが、キャッシュされた項目にはいくつかのヒットがありました(Couchbaseキャッシュ監視コンソールで証明されています)。私はCouchbase統計の過渡的な性質のために正確な平均ヒット率を得ることはできませんが、私はそれを約10〜20%と見積もっています。@Cacheableエンティティの割合が低い場合、Hibernateキャッシングによりパフォーマンスが低下しますか?
一部のエンティティのキャッシュを有効にすると、@Cacheableとマークされていない他のエンティティのアクセス時間に影響し、このパフォーマンス低下を引き起こしますか? キャッシュされたアイテムのレイテンシが低くなるだけで、キャッシュのクエリのレイテンシが増えたためか?
私はHibernate 3.3を使用しています。私はクエリキャッシングを無効にしました。私はキャッシュプロバイダとしてMemcached & GemFireで同様の結果を得ました。
答えはありませんか?誰かがあいまいな手がかりを持っている場合、またはこの質問に答えるために追加情報が必要な場合は、教えてください。 –