高パフォーマンスは Redis の最も顕著な機能です。 サービスの可用性を確保するには、Redis のパフォーマンス保証が不可欠です。 Redis のパフォーマンスの低下は、複数の理由により発生する可能性があります。 ホットキーの問題は、最も一般的な理由の 1 つです。 ホットキーの検出は、Redis のパフォーマンスを向上させる最初のステップです。 ここでは、Redis 4.0 の新機能を使用してホットキーを検出する方法について説明します。
背景
Redis 4.0 には、allkey-lfu および volatile-lfu の 2 つのデータ削除戦略が追加されています。 次の図に示すように、OBJECT コマンドを実行して特定のキーのアクセス頻度を取得することもできます。
ビジネスでホットキーを検出する際に役立つように、ネイティブの Redis クライアントにも --hotkeys オプションが追加されています。
注 ここでは、ホットキーを検出して Redis のパフォーマンスを最適化する方法について説明します。 これは、ApsaraDB for Redis の基本機能に精通し、高度なスキルを求めているユーザー向けの内容です。
Redis に慣れていない場合は、「プロダクトの概要」を読むことを推奨します。
前提条件
- ApsaraDB for Redis インスタンスと相互接続できる ECS インスタンスを有効化していること。
- ECS インスタンスに Redis 4.0 以降のバージョンの Redis をインストールしていること。
注 redis-cli ツールは、これらの前提条件のもとで使用できます。
- ApsaraDB for Redis インスタンスで、maxmemory-policy パラメーターが volatile-lfu または allkeys-lfu に設定されていること。
注 パラメーターの変更方法の詳細については、「パラメーター設定」をご参照ください。
手順
- 進行中のビジネスがある場合、次のコマンドを使用してホットキーを照会します。
redis-cli -h r-***************.redis.rds.aliyuncs.com -a <password> --hotkeys
注 ここでは、redis-benchmark を使用して大量の書き込みを特徴とするシナリオをシミュレートします。表 1. オプションの説明 オプション 説明 -h サーバーのホスト名を指定します。 -a Redis Auth のパスワードを指定します。 --hotkeys ホットキーを照会するために使用します。
結果
次の例は、このコマンドの実行結果を示しています。
結果の summary 部分がホットキーです。