Azure Cache for Redis のクライアント側の問題に関するトラブルシューティング

このセクションでは、アプリケーションで使用する Redis クライアントの状態が原因で発生する問題のトラブルシューティングについて説明します。

Redis クライアントでのメモリ不足

クライアントでのメモリ不足は、キャッシュからの応答の処理を遅延させる可能性のあるパフォーマンスの問題につながることがあります。 メモリ不足になると、システムはデータをディスクにページングする可能性があります。 この ページ フォールト により、システムの処理速度が大幅に低下します。

クライアントでのメモリ不足を検出するには:

  • コンピューターでのメモリ使用量を監視して、使用可能なメモリを超えることがないようにします。
  • クライアントの Page Faults/Sec パフォーマンス カウンターを監視します。 通常の動作中、ほとんどのシステムでいくつかのページ フォールトが発生します。 要求タイムアウトに対応するページ フォールトのスパイクは、メモリ不足を示している場合があります。

クライアントでの深刻なメモリ不足は、次のいくつかの方法で緩和できます。

  • メモリの使用パターンを詳しく調査して、クライアントでのメモリ使用量を削減します。
  • クライアント VM をメモリ量の多いより大きいサイズにアップグレードします。

トラフィックのバースト

このセクションは移動しました。 詳細については、「トラフィック バーストとスレッド プールの構成」をご覧ください。

クライアントでの高い CPU 使用率

このセクションは移動しました。 詳細については、「クライアント ホストで CPU が高い」をご覧ください。

クライアント側の帯域幅の制限

このセクションは移動しました。 詳細については、「クライアント ホストでのネットワーク帯域幅の制限」をご覧ください。

クライアント接続数の増大

クライアント接続がキャッシュの最大値に達すると、最大を超える接続に対するクライアント要求でエラーが発生することがあります。 また、クライアント接続が多いと、再接続試行の繰り返しを処理するときに、サーバーの負荷が高くなる場合もあります。

クライアント接続が多い場合は、クライアント コードでの接続リークを示している可能性があります。 接続が再利用されていなかったり、適切に閉じられていなかったりすることがあります。 クライアント コードの接続の使用法を見直してください。

接続数の増大がすべて理にかなったものであり、必要なクライアント接続である場合は、キャッシュのサイズをアップグレードして接続数の上限を引き上げる必要があることがあります。 Max aggregate for Connected Clients メトリックが、特定のキャッシュ サイズに対して許可される接続の最大数に近いかあるいは超えているかを確認してください。 クライアント接続ごとのサイズ設定の詳細については、「Azure Cache for Redis のパフォーマンス」をご覧ください。

関連情報

以下の記事では、トラブルシューティングとパフォーマンス テストの詳細について説明しています。