オフラインキー分析を使用して、Tair (Redis OSS-compatible) インスタンスのバックアップファイルを分析できます。これにより、large キーをすばやく特定し、メモリ使用量、キーの分布、キーの有効期限などの詳細を表示できます。このデータを使用してインスタンスを最適化し、メモリ不足やキーの偏りによるパフォーマンスの低下などの問題を防止できます。
この機能は、CloudDBA の キャッシュ分析 機能の上に提供されます。
使用上の注意
この機能は、 ディスクベースのインスタンスではサポートされていません。
インスタンスタイプを変更した場合、変更前に作成されたバックアップファイルは分析できません。
オフライン全量キー分析 機能は、Community Edition のデータ構造と、TairString、TairHash、TairGIS、TairBloom、TairDoc、TairCpc、TairZset といった Tair 独自のデータ構造のみをサポートします。他の Tair 独自のデータ構造が存在する場合、分析タスクは失敗します。
手順
コンソールにログインし、インスタンスページに移動します。上部のナビゲーションバーで、管理するインスタンスが存在するリージョンを選択します。次に、インスタンスを見つけてインスタンス ID をクリックします。
左側のナビゲーションウィンドウで、 を選択します。
デフォルトでは、前日の分析結果が オフライン全量キー分析 タブに表示されます。要件に基づいて別の時間範囲を指定できます。
オフライン全量キー分析 タブで、[分析] をクリックします。
表示されるダイアログボックスで、ノードと分析方法を指定します。

パラメーター
説明
ノード
キャッシュ分析を実行するノードの ID。
説明インスタンス全体または特定のノードを選択して分析できます。
分析方法
分析に使用されるバックアップファイル。
最新のバックアップファイルを使用: 最新のバックアップファイルを分析します。
履歴バックアップファイルを選択: 履歴バックアップファイルを分析します。
分析用に新しいバックアップを作成: バックアップファイルを作成し、そのファイルを分析します。これにより、インスタンスの現在のステータスを分析できます。
説明既存のバックアップファイルを分析する場合は、バックアップファイルが生成された時点が要件を満たしていることを確認してください。
区切り文字
キーのプレフィックスを識別するために使用されるデリミタ。次のデフォルトのデリミタを使用する場合、デリミタを指定する必要はありません:
:;,_-+@=|#。[OK] をクリックします。
システムが分析を実行し、分析ステータスを表示します。[更新] をクリックして分析ステータスを更新できます。
完了した分析タスクを見つけ、[アクション] 列の [詳細] をクリックして詳細な結果を表示します。
基本情報: 基本属性やキャッシュ分析方法など、インスタンスの基本情報を表示します。
関連ノード: インスタンスの各ノードのメモリ使用量とキー統計を表示します。
説明[関連ノード] セクションは、インスタンスがクラスターまたは読み書き分離インスタンスであり、先行するノードパラメーターでインスタンス全体が選択されている場合にのみ、[詳細] ページに表示されます。
詳細: メモリ使用量とキーの分布、キー内の要素のメモリ使用量と分布、キーの有効期限の分布、large キーのランキングなど、インスタンスまたはノードに関する詳細を表示します。
よくある質問
Q: 多くの期限切れキーが見つかった場合はどうすればよいですか?
A: これは、ビジネスデータに TTL (Time-To-Live) が設定されており、多くのキーが同時に期限切れになる場合に発生する可能性があります。インスタンスは期限切れのデータを自動的にクリアします。ただし、コンソールの [データをクリア] 機能を使用して、期限切れのキーをすばやくクリアすることもできます。詳細については、「期限切れのキーをクリアする」をご参照ください。
Q: RAM ユーザーを使用しているときに「permission denied」エラーが報告された場合はどうすればよいですか?
A: RAM ユーザーに必要な権限を付与し、操作をリトライしてください。詳細については、「カスタムポリシーの一般的なシナリオと例」をご参照ください。
Q: 同じインスタンスでもオフライン分析タスクの速度が異なるのはなぜですか?
A: オフライン分析タスクは非同期です。分析速度は、CloudDBA の現在のタスクの総数にも依存します。キューに多くのタスクがある場合、分析タスクは待機する必要があり、これにより合計分析時間が増加します。
Q:
decode rdbfile error: rdb: unknown object type 116 for keyエラーはどのように処理すればよいですか?A: このエラーは、インスタンスに分析でサポートされていない非標準の Bloom 構造が含まれていることを示します。
Q:
decode rdbfile error: rdb: invalid file formatエラーはどのように処理すればよいですか?A: このエラーは、選択したバックアップファイルが無効であることを示します。バックアップが作成された後にインスタンスの構成が変更されたかどうかを確認してください。また、TDE (透過的データ暗号化) が有効になっているかどうかも確認してください。この機能は、暗号化された情報を分析するために使用することはできません。
Q:
decode rdbfile error: rdb: unknown module typeエラーはどのように処理すればよいですか?A: このエラーは、バックアップファイルに分析でサポートされていない Tair 独自のデータ構造が含まれていることを示します。
Q: 新しいバックアップを作成して分析に使用した後に
XXX backup failedエラーが発生した場合はどうすればよいですか?A: インスタンスで BGSAVE または BGREWRITEAOF コマンドが実行されています。これにより、キャッシュ分析タスクのバックアップ作成が失敗します。オフピーク時間中に新しいバックアップを作成し、そのバックアップファイルを分析に使用することをお勧めします。または、履歴バックアップファイルを分析に使用することもできます。
[詳細] ページに表示されるキーのメモリ使用量が、キーの実際のメモリ使用量よりも少ないのはなぜですか?
キャッシュ分析機能は、キーと値がシリアル化された後、Redis データベースバックアップ (RDB) ファイルに保存されているキーと値によって消費されるメモリ量を計算します。計算されたメモリ量は、使用されているメモリ空間の一部のみを占めます。使用されるメモリには、次の部分も含まれます:
構造体データ、キーと値に対応するポインター、およびバイトアライメントによって消費されるメモリ量。jemalloc を使用してデータベースインスタンスのメモリを割り当てた後、データは特定のルールに基づいて配置されます。データベースインスタンスに 2 億 5000 万個のキーが含まれている場合、構造体データ、ポインター、およびバイトアライメントによって消費されるメモリの総量は、約 2 GB から 3 GB になる可能性があります。
クライアントの出力バッファー、クエリバッファー、および AOF (Append-Only File) 書き換えバッファーによって消費されるメモリ量、およびバックログによって消費されるメモリ量。バックログは、プライマリ/セカンダリレプリケーション中に生成されます。
キャッシュ分析中にさまざまな種類のデータを区別するためのプレフィックスとして使用されるデリミタは何ですか?
DAS は、キャッシュ分析中にデータを区別するためのデリミタとして
:;,_-+@=|#を使用します。Tair (Redis OSS-compatible) インスタンスのキャッシュ分析で、String 型のキーの要素数が要素の長さと同じなのはなぜですか?
Tair (Redis OSS-compatible) インスタンスのキャッシュ分析では、要素数は String 型のキーの要素の長さを表します。
[詳細] ページに表示される Stream キーのメモリ使用量が、キーの実際のメモリ使用量の数倍になるのはなぜですか?
Stream は、内部で基数木と listpack を使用する複雑なデータ構造です。キャッシュ分析機能は、このような複雑なデータ構造のメモリ使用量を正確に特定できないため、結果に偏差が生じます。
説明示される偏差は統計的なものであり、データベースインスタンスの機能には影響しません。
関連 API 操作
API 操作 | 説明 |
キャッシュ分析タスクを作成します。 | |
キャッシュ分析タスクに関する情報をクエリします。 | |
キャッシュ分析タスクのリストをクエリします。 |