モニタリングすべきメトリクス
次の CloudWatch メトリクスは、ElastiCache パフォーマンスを把握するのに役立ちます。ほとんどの場合、パフォーマンスの問題が発生する前に修正作業を行うことができるように、これらのメトリクスに CloudWatch アラームを設定することをお勧めします。
モニタリングするメトリクス
CPUUtilization
パーセント値でレポートされるホストレベルのメトリクスです。詳細については、「ホストレベルのメトリクス」を参照してください。
2 個以下の vCPU を持つ小さなノードタイプの場合は、CPUUtilization
メトリクスを使用してワークロードをモニタリングします。
一般的に、利用可能な CPU の 90% にしきい値を設定することをお勧めします。Redis はシングルスレットであるため、実際のしきい値はノードの総容量の割合として計算します。たとえば、2 個のコアを搭載するノードタイプを使用しているとします。この場合、CPUUtilization のしきい値は 90/2、つまり 45% になります。
使用しているキャッシュノードのコア数に基づいて独自のしきい値を決定する必要があります。このしきい値を超えた場合で、主なワークロードが読み込みリクエストから生成されている場合、リードレプリカを追加してキャッシュクラスターをスケールします。主なワークロードが書き込みリクエストからのものである場合、クラスター設定に応じて、以下のことをお勧めします。
-
Redis (クラスターモードが無効) クラスター: より大きなキャッシュインスタンスタイプを使用してスケールアップします。
-
Redis (クラスターモードが有効) クラスター: より多くのシャードを追加して、より多くのプライマリノード間で書き込みワークロードを分散します。
Redis ユーザーは、ホストレベルのメトリクス CPUUtilization
を使用する代わりに、Redis エンジンコアでの使用量のパーセント値をレポートする Redis メトリクス EngineCPUUtilization
を使用できる場合があります。コードでこのメトリクスが利用できるかどうか、およびその詳細については、「Redis のメトリクス」を参照してください。
4 個以上の vCPU を持つ大きなノードタイプでは、Redis エンジンコアでの使用量のパーセント値をレポートする EngineCPUUtilization
メトリクスを使用することをお勧めします。コードでこのメトリクスが利用できるかどうか、およびその詳細については、「Redis のメトリクス」を参照してください。
EngineCPUUtilization
4 個以上の vCPU を持つ大きなノードタイプでは、Redis エンジンコアでの使用量のパーセント値をレポートする EngineCPUUtilization
メトリクスを使用することをお勧めします。コードでこのメトリクスが利用できるかどうか、およびその詳細については、「Redis のメトリクス」を参照してください。
詳細については、Amazon CloudWatch を使用した Amazon ElastiCache for Redis によるベストプラクティスのモニタリング
SwapUsage
バイト単位でレポートされるホストレベルのメトリクスです。詳細については、「ホストレベルのメトリクス」を参照してください。
このメトリクスは 50 MB を超えてはなりません。その場合は、以下のトピックを参照してください。
Evictions
これは、キャッシュエンジンのメトリクスです。アプリケーションニーズに基づいてこのメトリクスの独自のアラームしきい値を決定することをお勧めします。
CurrConnections
これは、キャッシュエンジンのメトリクスです。アプリケーションニーズに基づいてこのメトリクスの独自のアラームしきい値を決定することをお勧めします。
CurrConnections の値が大きくなった場合、アプリケーションに問題があることを示している可能性があります。アプリケーション動作を調査してこの問題を解決する必要があります。
詳細については、Amazon CloudWatch を使用した Amazon ElastiCache for Redis によるベストプラクティスのモニタリング
Memory
メモリは Redis の中核的な側面です。クラスターのメモリ使用率を理解することは、データの損失を回避し、データセットの将来の増加に対応するために必要です。ノードのメモリ使用率に関する統計は、Redis INFO
詳細については、Amazon CloudWatch を使用した Amazon ElastiCache for Redis によるベストプラクティスのモニタリング
Network
クラスターのネットワーク帯域幅容量の決定要因の 1 つは、選択したノードの種類です。ノードのネットワーク容量の詳細については、「Amazon ElastiCache 料金表
詳細については、Amazon CloudWatch を使用した Amazon ElastiCache for Redis によるベストプラクティスのモニタリング
Latency
データ構造ごとに集約されたレイテンシーを提供する CloudWatch メトリクスのセットを使用して、コマンドのレイテンシーを測定できます。これらのレイテンシーメトリクスは、commandstats
Redis INFO
詳細については、Amazon CloudWatch を使用した Amazon ElastiCache for Redis によるベストプラクティスのモニタリング
Replication
レプリケーションされるデータの量は、ReplicationBytes
メトリクスを介して見ることができます。このメトリクスは、レプリケーショングループに対する書き込み負荷を表しますが、レプリケーションの状態に関する洞察は提供されません。この目的のために、ReplicationLag
メトリクスを使用できます。
詳細については、Amazon CloudWatch を使用した Amazon ElastiCache for Redis によるベストプラクティスのモニタリング