概要
TDVには、リポジトリデータベース内の情報をキャッシュし、リポジトリデータベースへの負荷を低減させるための仕組みが存在します。
この機能は、クエリパフォーマンスを向上させるためのデータをキャッシュする機能(デフォルトキャッシュデータベースや外部キャッシュターゲットへのキャッシュ)とは異なります。
キャッシュ対象となるのは以下のとおりです。
- 権限キャッシュ(Privilege cache)
- ユーザキャッシュ(User cache)
- リポジトリキャッシュ(Repository cache)
キャッシュの状態はTDV Manager の モニタリング > サーバの概要 で確認することができます。
権限キャッシュ
権限キャッシュは、リポジトリデータベースへのアクセスを減らすために、最も頻繁に使用される権限に関するデータをメモリ内に保持します。
通常の安定したワークロード下で権限キャッシュの「アクセス(ヒット/アクセス)」が90%以下になった場合は、このキャッシュの増設を検討してください。
ユーザキャッシュ
ユーザーキャッシュは、データベースへのアクセスを減らすために、最も頻繁に使用されるユーザーデータをメモリに保持します。通常の安定したワークロード下でユーザキャッシュの「アクセス(ヒット/アクセス)」が90%を下回る場合は、このキャッシュの増設を検討してください。
リポジトリキャッシュ
リポジトリキャッシュ(メタデータ・キャッシュ)は、内部データベースへのアクセスを減らすために、最も頻繁に使用されるメタデータ・オブジェクトをメモリに保持します。
キャッシュのサイズを大きくすることでサーバーのパフォーマンスが向上する場合があります。
ただし、キャッシュのサイズを大きくすると、その分クエリ処理に利用できるメモリ量が減少します。
メタデータ・キャッシュは「Managed Memory」領域に格納され、キャッシュサイズの設定にかかわらず、Managed Memoryの総量の25%より大きくなることはありません。
最小サイズは500オブジェクトで、デフォルトのサイズは10000オブジェクトです。
Server Overview コンソールでリポジトリキャッシュの「容量(エントリ/最大)」を確認してください。
通常の安定したワークロード下でリポジトリキャッシュの「アクセス(ヒット/アクセス)」が90%を下回る場合は、このキャッシュの増設を検討してください。
リポジトリキャッシュのクリア
TDVに最新の情報が表示されない場合は、TDV Manager (Web) もしくは Studioの Manager > Server Overview にある 「リポジトリキャッシュのクリア」(Clear Repository Cache) をクリックし、リポジトリキャッシュをクリアしてください。
このボタンによりクリアの対象となるのは、権限キャッシュ、ユーザキャッシュ、リポジトリキャッシュすべてです。
キャッシュ更新間隔
これらのキャッシュには、更新間隔という考えはなく、LRU(Least Recently Used)ポリシーに基づいて更新されます。