ApsaraDB for Redisは、CloudDBAモジュールのレイテンシインサイト機能を提供し、ApsaraDB for Redisインスタンスのデータベースで実行されるすべてのコマンドとカスタムイベントのレイテンシ統計を収集します。 統計はマイクロ秒まで正確です。 レイテンシインサイト機能を使用すると、ApsaraDB for Redisデータベースの異常とパフォーマンスの問題をトラブルシューティングできます。
概要
Redis 2.8.13は、考えられるレイテンシの問題を特定してトラブルシューティングするために、レイテンシモニタリングという新機能を導入しました。 レイテンシモニタリング機能を使用すると、過去160秒以内に生成されたデータのみを収集し、1秒以内に最もレイテンシの高いイベントのみにアクセスできます。
ApsaraDB for Redisは、高度なレイテンシインサイト機能を提供します。 この機能では、すべてのコマンドの最大27のイベントと実行期間を記録し、過去3日間のすべてのレイテンシ統計を保存できます。 イベントの詳細については、このトピックの「一般的な特別イベント」を参照してください。 レイテンシーのインサイト機能には、次の利点があります。
Persistent: データの永続性とレイテンシスパイクトレーシングをサポートします。
高精度: 全イベントをミリ秒以内に監視できます。
ハイパフォーマンス: パフォーマンスへの影響を最小限に抑えた非同期実装をサポートします。
リアルタイム: リアルタイムのデータクエリと集計操作をサポートします。
多次元: イベント、時間、遅延に基づいてインスタンスを分析できる包括的な遅延データを提供します。
前提条件
ApsaraDB for Redisインスタンスは、次のいずれかのマイナーバージョンを使用しています。 マイナーバージョンの更新方法については、「マイナーバージョンの更新」をご参照ください。
インスタンスが拡張エディション (Tair) DRAMベースのインスタンスの場合、マイナーバージョン1.6.9以降。 Tairモジュールコマンドに関する統計を収集する場合は、マイナーバージョンを1.7.28以降に更新します。
インスタンスが5.0メジャーバージョンを使用するCommunity Editionインスタンスである場合、マイナーバージョン5.1.4以降。
インスタンスが6.0メジャーバージョンを使用するCommunity Editionインスタンスである場合、マイナーバージョン0.1.15以降。
インスタンスが7.0メジャーバージョンを使用するCommunity Editionインスタンスである場合、マイナーバージョン7.0.0.6以降。
課金
この機能は無料で利用できます。
手順
- ApsaraDB for Redisコンソールにログインし、[インスタンス] ページに移動します。 上部のナビゲーションバーで、インスタンスがデプロイされているリージョンを選択します。 次に、インスタンスを見つけてIDをクリックします。
左側のナビゲーションウィンドウで、 .
表示されるページで、クエリする時間範囲を指定し、[検索] をクリックします。 デフォルトでは、過去5分間の統計が表示されます。
クラスターおよび読み書き分離インスタンスの場合、データノードおよびプロキシノードの統計を表示できます。
説明過去3日間のデータのみを照会でき、時間範囲は1時間以内でなければなりません。
イベントの名前またはテーブル内のイベントに対応する番号をクリックします。 次に、チャートが表示され、イベントが一致したメトリックの傾向が表示されます。
グラフの上のドロップダウンリストからメトリック名を選択して、グラフに表示するメトリックを指定することもできます。
説明指定された実行時間よりも長い時間がかかるコマンドまたはイベントのみが記録され、表示されます。 インスタンスのレイテンシに関連する問題のトラブルシューティング方法については、「一般的なレイテンシイベントの処理の提案」をご参照ください。
メトリック
操作
Event
イベント名。 例: ExpireCycle、EventLoop、Ping、Scan、コマンド、およびInfo。 詳細については、このトピックの「一般的な特別イベント」セクションを参照してください。
Total
イベントの合計発生数。
平均レイテンシ (μ s)
イベントの平均レイテンシ。 単位: μ s。
最大レイテンシ (μ s)
イベントの最大レイテンシ。 単位: μ s。
インスタンスの集約 (遅延 <1ms)
レイテンシが1 ms未満のイベントの発生回数。 アイコンをクリックすると、レイテンシが1 μ s、2 μ s、4 μ s、8 μ s、16 μ s、32 μ s、64 μ s、128 μ s、256 μ s、512 μ s、1 ms未満のイベントの発生数など、詳細な統計情報を表示できます。
説明カウント方法: 待ち時間が0μsから1μsであるイベントの発生数がカウントされ、<1μsカテゴリの下に提示され、待ち時間が1μsから2μsであるイベントの発生数がカウントされ、<2μsカテゴリの下に提示される。 他のカテゴリは同じパターンに従います。
<2ms
<4ms
...
> 33s
レイテンシが2 ms未満のイベントの発生回数。
説明カウント方法: レイテンシが1ミリ秒から2ミリ秒のイベントの発生数がカウントされ、<2ミリ秒のカテゴリに表示され、レイテンシが33秒を超えるイベントの発生数がカウントされ、> 33秒のカテゴリに表示されます。 他のカテゴリは同じパターンに従います。
一般的な特別イベント
カテゴリ | イベント | しきい値 | 説明 |
記憶の立ち退き | EvictionDel | 30 ms | 特定の削除サイクルで削除されたキーを削除するのに必要な時間。 |
EvictionLazyFree | 30 ms | バックグラウンドスレッドが特定の追い出しサイクルでメモリを解放するのにかかる時間。 | |
EvictionCycle | 30 ms | 立ち退きを実行するのに必要な時間。 削除サイクルには、削除するデータの選択と削除に必要な時間と、バックグラウンドスレッドの待機に費やされる時間が含まれます。 | |
メモリの最適化 | ActiveDefragCycle | 100 ms | メモリのデフラグに必要な時間。 |
再ハッシュ | 再ハッシュ | 100 ms | リハッシュを実行するのに必要な時間。 |
データ構造のアップグレード | ZipListConvertHash | 30 ms | ハッシュ符号化によってziplistを辞書に変換するのに必要な時間。 |
IntsetConvertSet | 30 ms | セットエンコーディングによってintsetをセットに変換するのに必要な時間。 | |
ZipListConvertZset | 30 ms | ziplistエンコーディングによってziplistをskiplistに変換するのに必要な時間。 | |
追加専用ファイル (AOF) | AofWriteAlone | 30 ms | 予想どおりにAOFを書き込むのに必要な時間。 |
AofWrite | 30 ms | AOFの書き込みに必要な時間。 AOFが正常に書き込まれるたびに、AofWriteイベントと、AofWriteAlone、AofWriteActiveChild、およびAofWritePendingFsyncの3つのイベントのうちの1つが記録されます。 | |
AofFstat | 30 ms | AOFに関する情報を取得するのに必要な時間。 | |
AofRename | 30 ms | AOFの名前を変更するのに必要な時間。 | |
AofReWriteDiffWrite | 30 ms | 子プロセスがAOFを書き換えた後に親プロセスによって実行された増分AOF書き込みによって消費される時間。 | |
AofWriteActiveChild | 30 ms | AOFをディスクに書き込むのに必要な時間。 他の子プロセスは、AOFが書き込まれるときにディスクにデータを書き込むことができる。 | |
AofWritePendingFsync | 30 ms | AOFの書き込みに必要な時間。 バックグラウンドプロセスは、AOFが書き込まれるときにfsync動作を実行することができる。 | |
Redisデータベース (RDB) ファイル | RdbUnlinkTempFile | 50 ms | bgsave子プロセスが終了した後、一時RDBファイルを削除するのに必要な時間。 |
その他 | コマンド | 30 ms | fastでタグ付けされていないコマンドを実行するのに必要な時間。 |
FastCommand | 30 ms | 高速でタグ付けされ、O(1) またはO(log N) の時間複雑度を持つコマンドを実行するのに必要な時間。 このようなコマンドの詳細については、このトピックのFastCommandsセクションを参照してください。 | |
EventLoop | 50 ms | メインイベントループの実行に必要な時間。 | |
フォーク | 100 ms | フォーク操作を呼び出すのに必要な時間。 | |
Transaction | 50 ms | トランザクションによって消費された実際の時間。 | |
パイプライン | 50 ms | マルチスレッドパイプラインによって消費された時間。 | |
ExpireCycle | 30 ms | 期限切れのキーを一度にクリアするのに必要な時間。 | |
ExpireDel | 30 ms | キーをクリアするための特定のサイクルで期限切れのキーを削除するのに必要な時間。 | |
SlotRdbsUnlinkTempFile | 30 ms | bgsave子プロセスが終了した後、一時RDBファイルをスロットから削除するのに必要な時間。 | |
LoadSlotRdb | 100 ms | スロットからRDBファイルをロードするのに必要な時間。 | |
SlotreplTargetcron | 50 ms | RDBファイルをスロットから一時データベースにロードし、子プロセスを使用してファイルをターゲットデータベースに移行するのに必要な時間。 |
FastCommands
次の表に、一般的に使用されるFastCommandsを示します。 その他のコマンドについては、Redis公式Webサイトの [コマンド] ページを参照してください。 @ fastでタグ付けされたすべてのアクセス制御リスト (ACL) コマンドはFastCommandsです。
ACCOUNT | 管理 | 尋ねる | 秋 |
BKLIST | BZPOPMAX | BZPOPMIN | DBSIZE |
DECR | DECRBY | 割引 | エコー |
EXISTS | EXPIRE | EXPIREAT | 取得する |
GETBIT | HDEL | HEXISTS | HGET |
HINCRBY | ヒンクルフロート | HKCOUNTER | HKSWITCH |
ヘン | HMGET | HMINCRBY | HMINCRBYFLOAT |
HMSET | HSET | HSETNX | HSTRLEN |
INCR | INCRBY | INCRBYFLOAT | LASTSAVE |
レン | LPOP | LPUSH | LUSHX |
MGET | MOVE | マルチ | PERSIST |
PEXPIRE | PEXPIREAT | PFADD | PING |
PTTL | 出版物 | 準備完了 | READWRITE |
RENAMENX | RPOP | RPUSH | RPUSHX |
サッド | スケール | SELECT | SETNX |
SISMEMBER | SMOVE | スポップ | スレム |
ストレーン | SWAPDB | 時間 | タッチ |
TTL | タイプ | リンク解除 | アンウォッチ |
見る | XACK | XADD | XCLAIM |
XDEL | XLEN | XSETID | XTRIM |
ZADD | ZCARD | ZCOUNT | ジンクルビー |
ZLEXCOUNT | ZPOPMAX | ZPOPMIN | ズランク |
ZREM | ズレヴランク | ZSCORE | ZSCOREAVG |