高パフォーマンスは 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 に設定されていること。
    パラメーターの変更方法の詳細については、「パラメーター設定」をご参照ください。

手順

  1. 進行中のビジネスがある場合、次のコマンドを使用してホットキーを照会します。
    redis-cli -h r-***************.redis.rds.aliyuncs.com -a <password> --hotkeys
    ここでは、redis-benchmark を使用して大量の書き込みを特徴とするシナリオをシミュレートします。
    表 1. オプションの説明
    オプション 説明
    -h サーバーのホスト名を指定します。
    -a Redis Auth のパスワードを指定します。
    --hotkeys ホットキーを照会するために使用します。

結果

次の例は、このコマンドの実行結果を示しています。

結果の summary 部分がホットキーです。