次の方法で共有


Azure Managed Redis (プレビュー) の CPU 使用率の管理

値のサイズ

クライアント アプリケーションの設計によって、多数の小さな値を格納したほうがよいか、少数のより大きな値を格納したほうがよいかが決まります。 Redis サーバーの観点からは、値が小さいほど、パフォーマンスは向上します。 値のサイズは 100 kB 未満にしておくことをお勧めします。

設計上、より大きな値を Azure Managed Redis (プレビュー) に格納する必要がある場合、CPU 使用率が高くなります。 このケースでは、CPU の使用によってスループットが制限されないように、より高いパフォーマンス レベルを使用する必要がある場合があります。

AMR インスタンスに十分な CPU 容量がある場合でも、より大きな値を指定すると待ち時間が長くなってしまうため、「適切なタイムアウトを構成する」のガイダンスに従ってください。

クライアント接続のスパイクを回避する

接続を作成することと閉じることは、Redis サーバーにとってコストのかかる操作です。 クライアント アプリケーションで短時間のうちに作成または閉じられる接続の数が多すぎると、Redis サーバーの負担になる可能性があります。

多数のクライアント インスタンスをインスタンス化して、一度に Redis に接続する場合は、接続されたクライアントの数が急増するのを防ぐために、新しい接続の作成をずらすことを検討してください。

メモリ不足

サーバーのメモリ使用率が高いと、システムでデータをディスクにページングする必要が生じ、ページ フォールトによってシステムの処理速度が大幅に低下するおそれがあります。

実行時間の長いコマンドを回避する

Redis サーバーはシングル スレッド システムです。 実行時間の長いコマンドは、クライアント側で待ち時間やタイムアウトが発生する原因となります。これは、サーバーで実行時間の長いコマンドを処理している間に他の要求に応答できないためです。 詳細については、「Azure Cache for Redis のサーバー側の問題に関するトラブルシューティング」を参照してください。

CPU 使用率の監視

サーバーの負荷を監視する機能を追加して、サーバーの負荷が高いときに通知を受け取ることができるようにします。 監視することは、アプリケーションの制約を理解するのに役立ちます。 その後、問題を軽減するために事前に対処することができます。 パフォーマンスに悪影響が生じるのを防ぐために、サーバーの負荷を 80% 未満にしておくことをお勧めします。 サーバーの負荷が 80% を超える場合、計画されていないフェールオーバーが発生する可能性があります。 Azure Managed Redis (プレビュー) では、CPU メトリックが公開され、AMR インスタンスのノードでの CPU 使用率が示されます。 また、短いスパイクでもフェールオーバーとコマンド タイムアウトをトリガーできるため、平均ではなく、CPU メトリックの最大スパイクを調べることをお勧めします。

次のステップ