キャッシュヒット率が期待値を下回る場合や、容量削減の機会を評価する場合、キャッシュヒット率だけでは OSS アクセラレータのキャッシュ容量が適切かどうかを判断できません。キャッシュヒートマップは、キャッシュされたデータのアクセス分布とスペース分布を示し、アクセラレータのキャッシュ容量を調整すべきかどうかを判断するのに役立ちます。
キャッシュヒートマップのモニタリングは、招待制プレビューです。この機能を使用するには、チケットを送信してアクセスをリクエストしてください。
機能概要
アクセラレータのキャッシュ容量を調整するかどうかを判断するには、次の情報を合わせて確認します。
OSS アクセラレータのキャッシュヒット率 (キャッシュヒット率):現在のキャッシュのアクセラレーション効果を示します。
OSS アクセラレータのキャッシュスペース使用率 (スペース使用率):クエリ時点のスナップショットであり、各
segセグメントが使用済み合計容量に占める割合を示します。キャッシュヒートマップ:選択した時間範囲内のアクセストラフィック分布と、クエリ時点でのキャッシュ済みデータのスペース分布のスナップショットを示します。この情報から、キャッシュヒット率が高い、または低い理由がわかります。
キャッシュヒット率はアクセラレーション効果を測定し、キャッシュヒートマップはアクセスパターンを明らかにし、スペース使用率は各 seg セグメントが占めるキャッシュ済みスペースの割合を示します。これらのメトリクスを組み合わせることで、現在のキャッシュ容量が適切かどうかを判断できます。
キャッシュヒット率が低い場合:キャッシュされたデータのごく一部にアクセストラフィックの大半が集中している場合、そのワークロードには明確なアクセスホットスポットがあり、容量を増やすとキャッシュヒット率が向上する可能性があります。アクセストラフィックの分布がスペース使用量の分布と類似している場合、そのワークロードは通常、ランダムアクセスが主体となっています。容量を増やす前に、そのメリットを評価してください。
キャッシュヒット率が高い状態が続く場合:スペース使用率と、最も最近アクセスされていないデータのアクセストラフィックおよびスペース使用量を確認して、容量を削減できるかどうかを判断します。測定されたキャッシュ容量とキャッシュヒット率の関係を使用して、容量削減の影響を評価します。
コンソールでキャッシュヒートマップにアクセスしてクエリを実行する方法については、「アクセラレータのモニタリング」をご参照ください。
グラフの説明
OSS アクセラレータのモニタリングページで、[キャッシュヒートマップモニタリング] カードにキャッシュヒートマップが表示されます。

水平軸は時系列ではなく、キャッシュデータの最終アクセス順序を表します。左から右へ、アクセスが新しいデータから古いデータへと変化します。この順序に基づき、システムはキャッシュデータを seg 0~9 から seg 90~99 までの 10 個のセグメントに均等に分割します。
seg 0~9はチャートの一番左にあり、最も最近アクセスされたデータを表します。seg 90~99は、チャートの最も右側にあり、最も長い間アクセスされていないデータを表します。
このトピックでは、アクセス順序を相対的な経過時間と呼びます。相対的な経過時間は、キャッシュのアクセス状況が続くにつれて変化します。これは、オブジェクトの作成時刻でも、オブジェクトがキャッシュされていた期間でもなく、固定の分数または時間数に変換することはできません。たとえば、seg 90~99 内のデータは、QPS が高い負荷の高いインスタンスでは数分間しかアクセスされなかったかもしれませんが、アイドル状態のインスタンスでは数時間アクセスされなかった可能性があります。相対的な経過時間は、現在のグラフにおけるキャッシュされたデータのアクセス順序のみを示します。同じインスタンスの異なる期間や異なるインスタンス間で同じ seg を直接比較したり、同じ時間の長さとして解釈したりしないでください。
OSS アクセラレーターのキャッシュが満杯になった後、新しいデータをキャッシュする必要がある場合、最近最もアクセスされていないデータが最初に破棄されます。したがって、このトピックでは seg 80~99 を破棄準備ゾーンと呼びます。コンソールの上部にあるバナーでは、この用語を破棄ゾーンと省略しています。
キャッシュヒートマップモニタリングカードには、次の要素が含まれています。
カード要素 | 説明 | 値のタイプ |
時間範囲 | アクセストラフィックが収集される期間を指定します。 | アクセストラフィック比率に影響します。スペース使用率は特定の時点のスナップショットのままです。 |
エビクションゾーンバナー | エビクション準備ゾーン ( | 選択した時間範囲の主要な統計情報です。 |
アクセストラフィック比率 (棒グラフ) | 選択された時間範囲内における、 | 選択した時間範囲内に生成されたアクセスを表す増分値です。 |
スペース使用率 (ラインチャート) | OSS アクセラレーターのキャッシュ容量に占める |
|
キャッシュされたデータへのアクセス頻度を評価しやすくするために、このトピックでは 10 個の seg セグメントを以下の 4 つのゾーンに分類します。
ゾーン | 範囲 | 説明 | 典型的なパターン |
アクティブゾーン |
| 最も最近アクセスされたホットデータ。このデータがキャッシュヒット率に最も貢献します。 | アクセストラフィックは通常、このゾーンに集中します。 |
ウォームゾーン |
| ある程度再利用され、徐々にコールドになっているデータ。 | このゾーンはいくらかのスペースを占有し、そのセグメント全体でアクセストラフィックが減少します。 |
コールドゾーン |
| 比較的長い間アクセスされていないデータ。 | スペース使用率が低いです。 |
エビクション準備ゾーン |
| 最もコールドなデータで、最初にエビクションされます。 | このゾーンがほとんどアクセスされずにスペースを占有するのは正常です。スペース比率が 0 に近い場合、データはコールドになる前にエビクションされる可能性があります。 |
コンソールでは、エビクション準備ゾーンが薄い黄色の背景でマークされます。アクティブゾーン、ウォームゾーン、コールドゾーンは、分析を容易にするために本トピックで使用される用語です。コンソールのグラフには、これらのゾーンのラベルは表示されません。
IOPS が極端に高い場合、システムが一部のアクセスヒートデータを破棄することがありますが、seg セグメント間の相対的な比率と全体的な傾向は一貫しています。このことは、容量を増減する際の決定に影響を与えません。絶対的なアクセス トラフィックを表示するには、QPS または帯域幅メトリクスを使用します。
キャッシュ容量の調整
まず、次の表を使用してグラフのパターンを特定し、対応する例を確認します。ヒートマップのみに基づいてアクセラレータのキャッシュ容量を調整しないでください。アクセラレータのモニタリングでヒット率メトリクスからキャッシュヒット率を取得し、キャッシュヒートマップからエビクション準備ゾーンのアクセス比率とスペース比率を取得します。
キャッシュ容量を調整する必要があると判断したら、OSS アクセラレータの作成、変更、削除を参照して OSS アクセラレータのキャッシュ容量を変更します。
グラフのパターン | キャッシュヒット率 | エビクション準備ゾーンのスペース比率 | エビクション準備ゾーンのアクセス比率 | 評価と推奨事項 |
アクセストラフィックが先頭のセグメントに集中し、エビクション準備ゾーンがいくらかのスペースを保持している | 95%超 | 10%超 | 5%未満 | キャッシュ容量が必要以上に大きい可能性があります。スペース使用率に基づいて安全マージンを確保した後、容量を適度に削減できます。 |
アクセストラフィックとスペース使用量の両方が先頭のセグメントに集中している | 80%未満 | 0%に近い | 0%に近い | キャッシュ容量が不足している可能性があります。段階的に容量を増やしてください。 |
各セグメントでアクセストラフィック比率とスペース使用率が類似している | 任意の値 | アクセストラフィックの分布と類似 | スペース使用量の分布と類似 | ワークロードはランダムアクセスが主体となっています。キャッシュ容量を調整するかどうかを決定する前に、容量を増やすことのコストとメリットを評価してください。 |
キャッシュヒット率が 80% から 95% の間の場合、しきい値のみに基づいて結論を出さないでください。目標のキャッシュヒット率、グラフのパターン、スペース使用率、オリジン帯域幅を総合的に考慮してください。
キャッシュヒット率が高い場合:容量削減の評価
特徴: アクセストラフィックはアクティブゾーン (seg 0~9) とウォームゾーン (seg 10~49) に集中しており、削除準備ゾーン (seg 80~99) はある程度のスペースを占有しますが、アクセストラフィックはほとんどありません。キャッシュヒット率も高くなっています。これは、キャッシュがよりコールドなデータの削除を開始し、キャッシュヒット率が現在のアクセスパターンにおける上限に近づいていることを示しています。
データ例:
seg 0~9 10~19 20~29 30~39 40~49 50~59 60~69 70~79 80~89 90~99
Access traffic ratio 62% 18% 8% 5% 3% 2% 1% 1% 0% 0%
Space usage ratio 16% 19% 13% 10% 8% 5% 4% 3% 1% 21%
Banner: Eviction zone access ratio: 0%; space ratio: 22%推奨事項: 容量を増やす必要はありません。コストを削減するために、キャッシュヒット率が 95% を超え、エビクション準備ゾーンのスペース比率が 10% を超え、そのアクセス比率が 5% 未満である場合は、段階的に容量を削減することを検討してください。この例では、エビクション準備ゾーンのスペース比率は 22% で、アクセス比率は 5% 未満です。容量を 5% から 10% 削減することを検討できます。削減後、さらに容量を削減するかどうかを決定する前に、キャッシュヒートマップとキャッシュヒット率を再度確認してください。
キャッシュヒット率が低い場合:容量増加の評価
特徴: アクセス トラフィックの割合と領域使用率の両方がグラフの先頭部分 (seg 0~19) に集中しており、追い出し準備ゾーン (seg 80~99) は領域使用率とアクセス比率が 0% に近くなっています。キャッシュヒット率も低くなっています。これは、データがキャッシュ内に滞在する時間が短く、ホットデータがオリジンから繰り返し取得されてキャッシュに書き戻されている可能性があることを示しています。
データ例:
seg 0~9 10~19 20~29 30~39 40~49 50~59 60~69 70~79 80~89 90~99
Access traffic ratio 88% 10% 2% 0% 0% 0% 0% 0% 0% 0%
Space usage ratio 58% 34% 8% 0% 0% 0% 0% 0% 0% 0%
Banner: Eviction zone access ratio: 0%; space ratio: 0%推奨事項: アクセラレーターのキャッシュ容量を段階的に増やします。増やすたびに、少なくとも 1 時間待ってからデータを観察します。容量の増加が効果的である場合、以前はデータが含まれていなかったウォームゾーンの seg 20~49 にスペース使用量とアクセス トラフィックが表示され、キャッシュヒット率が向上します。
ランダムアクセス:メリットの評価
特徴: 各 seg セグメントのアクセストラフィック比率とスペース使用率はほぼ等しく、2 つのデータ系列はほぼ重なります。キャッシュヒット率は、キャッシュ容量に応じてほぼ線形に変化します。これは通常、キャッシュされたホットデータとコールドデータの間に明確な区別がない、大規模なランダム読み取りが行われていることを示します。
データ例:
seg 0~9 10~19 20~29 30~39 40~49 50~59 60~69 70~79 80~89 90~99
Access traffic ratio 30% 20% 14% 11% 8% 6% 5% 3% 2% 1%
Space usage ratio 30% 19% 14% 11% 8% 6% 5% 4% 2% 1%ランダム読み取りテストでは、キャッシュ容量がデータ量の 1/2 の場合、キャッシュヒット率は 49.3% であり、キャッシュ容量がデータ量の 1/5 の場合は 19.9% でした。比較として、同じくキャッシュ容量がデータ量の 1/2 の場合でも、80/20 のアクセスパターン下ではキャッシュヒット率は 86.9% に達しました。
80/20 のアクセスパターンとは、アクセスの 80% がデータの 20% をターゲットにすることを意味します。
推奨事項: 容量を増やすとキャッシュヒット率は向上しますが、コストとメリットはほぼ線形の関係にあり、収穫逓減の明確なポイントはありません。
推奨事項
代表的な期間を選択する。 オフピーク時のデータによって容量要件が過小評価されるのを防ぐため、日中のビジー期間にキャッシュ容量を評価します。夜間のバッチジョブなど、日次または週次のピークが明確なワークロードについては、ピーク時とオフピーク時を別々に観察してください。
連続した複数のサイクルを観察する。 単一のサンプルや短い観察期間は、一時的な変動の影響を受ける可能性があります。少なくとも 6 時間、連続した複数のビジネスサイクルを観察し、観察期間中はキャッシュ容量の頻繁な調整を避けてください。
容量を段階的に削減します。 領域使用率が示す使用可能な容量に基づいて、キャッシュ容量を段階的に削減します。削減のたびに、キャッシュヒートマップとキャッシュヒット率を再度確認します。続行する前に、アクティブゾーン (
seg 0~9) が圧縮されておらず、退避準備ゾーン (seg 80~99) が空でないことを確認します。弾性的な容量レベルを個別に調整する。 夜間に容量を増やし、日中に減らすなどの弾性スケーリングシナリオでは、ピーク時とオフピーク時のヒートマップを使用して、2 つのキャッシュ容量レベルを個別に調整します。
モニタリングメトリクスを合わせて確認する。 キャッシュヒートマップを使用してキャッシュヒット率の変化を解釈し、キャッシュヒット率とオリジン帯域幅を使用して調整の結果を検証します。メトリクスから導き出される結論に一貫性がない場合は、まずワークロードのアクセスパターンが最近変更されたかどうかを確認してください。
よくある質問
OSS アクセラレータのキャッシュスペース使用率が 100% の場合、キャッシュ容量を増やす必要がありますか。
いいえ。OSS アクセラレータは Least Recently Used (LRU) のエビクションポリシーを使用し、キャッシュがいっぱいになった後にのみデータのエビクションを開始します。合計データ量がキャッシュ容量を超えると、スペース使用率は 100% に達します。低いキャッシュヒット率と、エビクション準備ゾーンのスペース比率が 0% に近い状態が組み合わさると、キャッシュ容量の不足を示します。
エビクション準備ゾーンがスペースを占有しているのに、アクセストラフィックがないのは異常ですか。
いいえ。エビクション準備ゾーンには、新しいデータに置き換えられようとしているコールドデータが格納されます。このゾーンがほとんどアクセスされずにスペースを占有するのは正常です。このゾーンのスペース比率が 0 に近い場合、データはコールドになる前にエビクションされる可能性があります。キャッシュヒット率を使用して、容量を増やすかどうかを判断してください。
キャッシュ容量を削減すると、キャッシュヒット率はどのくらい低下しますか。
まず、スペース使用率によって示される利用可能なキャッシュ容量を確認し、次に測定されたキャッシュ容量とキャッシュヒット率の関係を参照します。アクセスの局所性を持つワークロードの場合、80/20 のアクセスパターンテストでは、キャッシュ容量を半分にするとキャッシュヒット率が 98.0% から 86.9% に、約 11 パーセントポイント低下しました。ランダム読み取りの場合、キャッシュヒット率はキャッシュ容量の比率とほぼ線形に変化します。容量を削減すると、キャッシュヒット率もほぼ比例して低下します。容量は段階的に削減し、調整のたびにキャッシュヒット率とキャッシュヒートマップを再度確認してください。
なぜ、ほとんどすべてのアクセストラフィックが seg 0~9 に集中するのですか。
2 つの状況が考えられます。スペースの分布を使用して、それらを区別します。第一に、アクセスの局所性が強く、キャッシュが正常に機能している可能性があります。この場合、後のセグメントも正常なスペース分布を保ち、キャッシュヒット率は高くなります。第二に、容量が著しく不足しており、データがすぐにエビクションされている可能性があります。この場合、エビクションゾーンのスペース比率も 0 に近く、キャッシュヒット率は低くなります。2 番目の状況では、容量の増加が必要です。「キャッシュヒット率が高い場合:容量削減の評価」と「キャッシュヒット率が低い場合:容量増加の評価」のシナリオを比較してください。
キャッシュヒートマップはどのくらいの頻度で確認すべきですか。
キャッシュ容量を評価する際は、ビジネスのピーク時に分単位の間隔でサンプルを収集し、複数のビジネスサイクルを観察します。定期的なチェックとしては、構造的な変化がないか、毎日または毎週グラフを検査します。グラフのパターンに大きな変化が見られる場合、通常はワークロードのアクセスパターンが変化したことを示します。