Database Autonomy Service (DAS) は、ApsaraDB for Redisインスタンスのバックアップファイルの分析に役立つキャッシュ分析機能を提供します。 これにより、インスタンス内の大きなキーを識別し、キーのメモリ使用量、配布、有効期限などの情報を取得し、分析結果に基づいてインスタンスを最適化できます。 この機能は、キーの偏りによるメモリ不足やパフォーマンスの低下などの問題を解決するのに役立ちます。
機能の説明
キャッシュ分析機能は、Redisデータベース (RDB) 永続化ポリシーに基づいてサポートされており、ApsaraDB for Redis 7.0インスタンスで使用できます。
制限事項
キャッシュ分析機能を使用するApsaraDB for Redisインスタンスは、DASに接続され、正常なアクセス 状態である必要があります。
キャッシュ分析機能は、Enterprise SSD (ESSD) およびSSDを使用するApsaraDB for Redis Enhanced Edition (Tair) インスタンスでは使用できません。
キャッシュ分析機能は、Redisデータ構造と、TairString、TairHash、TairGIS、TairBloom、TairDoc、TairCpc、およびTairZsetの自己開発Tairデータ構造でのみサポートされます。 他の自己開発Tairデータ構造は、キャッシュ分析機能をサポートしていません。
ApsaraDB for Redisインスタンスの仕様が変更された場合、変更前に生成されたバックアップファイルを分析することはできません。
手順
DASコンソールにログインします。
左側のナビゲーションウィンドウで、インスタンスモニターをクリックします。
表示されるページで、管理するデータベースインスタンスを見つけ、インスタンスIDをクリックします。 インスタンス詳細ページが表示されます。
左側のナビゲーションウィンドウで、リクエスト分析>キャッシュ分析を選択します。
キャッシュ分析 ページの右上隅にある 分析 をクリックします。
キャッシュ分析 ダイアログボックスで、次の表に示すパラメーターを設定します。
パラメーター
説明
分析するノードを選択します。
キャッシュ分析を実行するノードのID。
説明分析対象のインスタンスまたはノードを選択できます。
分析方法
分析するバックアップファイルを選択するモード。 有効な値:
以前のバックアップファイルを使用: 最新のバックアップファイルを分析します。
新しいバックアップを作成し、最新のバックアップを分析に使用します。: ApsaraDB for Redisインスタンスを即座にバックアップし、新しいバックアップファイルを分析します。 これにより、インスタンスの現在のステータスを分析できます。
過去のバックアップファイルを選択する: 履歴バックアップファイルを分析します。
説明既存のバックアップファイルを分析する場合は、バックアップファイルが生成された時点が要件を満たしていることを確認してください。
区切り文字
キーのプレフィックスを識別するために使用される区切り文字。 次のデフォルトの区切り文字を使用する場合、
:;,_-+ @=|#
を指定する必要はありません。OKをクリックします。
キャッシュ分析 ページで、作成された分析タスクを見つけます。 分析タスクが完了したら、操作 列の 詳細 をクリックします。 表示されるページで、分析結果を表示できます。
基本情報: このセクションでは、分析されるデータベースインスタンスのIDや使用されるキャッシュ分析方法など、キャッシュ分析に関する基本情報を表示できます。
関連ノード: データベースインスタンスがApsaraDB for Redis Community Editionのマスターレプリカクラスターインスタンスの場合、データベースインスタンス内の各ノードのメモリ使用量 (合計メモリ使用量やキーの統計量など) を表示できます。
説明関連ノード情報は、ApsaraDB for Redis Community Editionのマスターレプリカクラスターインスタンスのキャッシュが分析された場合にのみ表示されます。
詳細: このセクションでは、データベースインスタンスの総メモリ使用量、キーに基づいて収集された統計を表示できます。たとえば、先週の 1 日あたりの増加の平均、キーの合計数、キーのメモリ使用率、キーの配信、要素のメモリ使用率、要素の配信、キーの有効期限の分布 (メモリ) 、キーの有効期限の分布 (数量) 、およびメモリ使用量、キーの数、およびプレフィックスに基づいてランク付けされた上位100の大きなキー。
よくある質問
[詳細] ページに表示されるキーのメモリ使用量が、実際のキーのメモリ使用量よりも少ないのはなぜですか。
キャッシュ分析機能は、キーと値がシリアル化された後にRedisデータベースバックアップ (RDB) ファイルに格納されるキーとその値によって消費されるメモリの量を計算します。 計算されたメモリ量は、使用されたメモリ空間の一部のみを占める。 使用されるメモリには、次の部分も含まれます。
構造体データによって消費されるメモリの量、キーと値に対応するポインタ、およびバイト配置。 jemallocを使用してデータベースインスタンスのメモリを割り当てると、特定のルールに基づいてデータが整列されます。 データベースインスタンスに250万個のキーが含まれている場合、構造体データ、ポインター、およびバイト配置によって消費されるメモリの合計量は、約2 GBから3 GBになります。
クライアントの出力バッファー、クエリバッファー、および追加専用ファイル (AOF) 書き換えバッファーによって消費されるメモリの量、およびバックログによって消費されるメモリの量。 バックログは、プライマリ /セカンダリのレプリケーション中に生成されます。
キャッシュ分析中にさまざまなタイプのデータを区別するためのプレフィックスとして使用される区切り文字は何ですか?
DASは、
:;,_-+ @=|#
を区切り文字として使用して、キャッシュ分析中にデータを区別します。ApsaraDB for Redisインスタンスのキャッシュ分析で、要素数がString型のキーの要素の長さと同じであるのはなぜですか。
ApsaraDB for Redisインスタンスのキャッシュ分析では、要素数はString型のキーの要素の長さを表します。
decode rdbfileエラー: rdb: unknown object type 116 for key XX
エラーメッセージが表示された場合はどうすればよいですか?このエラーは、ApsaraDB for RedisインスタンスにBloomキーがあることを示しています。 これらのキーをインスタンスから削除するか、インスタンスをEnhanced Edition (Tair) にアップグレードして、Bloom構造をTairBloom構造に変更することができます。
decode rdbfile error: rdb: invalid file format
エラーメッセージが表示された場合はどうすればよいですか?このエラーは、選択したバックアップファイルが無効であることを示します。 バックアップファイルの作成後にApsaraDB for Redisインスタンスの仕様が変更されているかどうかを確認します。 または、ApsaraDB for Redisインスタンスで透過データ暗号化 (TDE) が有効になっているかどうかを確認します。 オフラインキー分析機能は、暗号化された情報を分析できません。
decode rdbfileエラー: rdb: unknown module type
エラーメッセージが表示された場合はどうすればよいですか?このエラーは、バックアップファイルに自己開発のTairデータ構造が含まれており、分析できないことを示しています。
インスタンスのキャッシュ分析タスクを作成するときは、[analysis Method] パラメーターを [create New Backup for Analysis] に設定します。
XXX backup failed
エラーが発生した場合はどうすればよいですか?BGSAVEまたはBGREWRITEAOFコマンドがインスタンスで実行中です。 そのため, キャッシュ解析タスクで使用するバックアップファイルは作成できません。 オフピーク時にバックアップファイルを作成し、最新のバックアップファイルまたは履歴バックアップファイルを使用してキャッシュ分析タスクを作成することを推奨します。
[詳細] ページに表示されるStreamキーのメモリ使用量が、実際のキーのメモリ使用量の数倍になるのはなぜですか。
Streamは複雑なデータ構造で、内部に基数ツリーとリストパックを使用します。 キャッシュ分析機能は、そのような複雑なデータ構造のメモリ使用量を正確に識別することができず、結果に偏差が生じます。
説明示された偏差は、本質的に統計的であり、データベースインスタンスの機能に影響を及ぼさない。
関連ドキュメント
ApsaraDB for Redisコンソールのキャッシュ分析機能を使用することもできます。 詳細については、「オフラインキー分析機能の使用」をご参照ください。
関連する API 操作
API 操作 | 説明 |
キャッシュ分析タスクを作成します。 | |
キャッシュ分析タスクの詳細を照会します。 | |
キャッシュ分析タスクを照会します。 |