パフォーマンス テスト
独自のパフォーマンス テストを記述する前に、まず
redis-benchmark.exe
を使用して、キャッシュの一般的なスループットと待機時間の特性を確認します。 詳細については、Redis ベンチマークに関するセクションを参照してください。テストに使用するクライアント VM は、Redis Cache インスタンスと同じリージョン内にある必要があります。
使用するクライアント VM が、テストするキャッシュと少なくとも同等のコンピューティングと帯域幅を持っていることを確認します。
キャッシュのパフォーマンス テストは、安定状態の条件下のみで行わないようにすることが重要です。 フェールオーバーの状態でもテストし、その間のキャッシュの CPU またはサーバーの負荷を測定します。 フェールオーバーを開始するには、プライマリ ノードを再起動します。 フェールオーバー状態でテストを行うと、フェールオーバー状態の間のアプリケーションのスループットと待機時間を確認できます。 フェールオーバーは、更新時や、計画外のイベント時に発生する可能性があります。 パフォーマンスに影響する可能性があるため、フェールオーバー中であっても、CPU またはサーバーの負荷ピークが 80% を超えないようにすることをお勧めします。
Premium レベルの Azure Cache for Redis インスタンスの使用を検討します。 これらのキャッシュ サイズでは、CPU およびネットワークの両方が優れたハードウェアで Redis インスタンスが実行されるため、ネットワーク待機時間とスループットが改善します。
Note
参照用として、当社で観測したパフォーマンス結果をこちらに公開しています。 また、SSL/TLS では幾分かのオーバーヘッドが追加されるため、トランスポートの暗号化を使用している場合は、待ち時間とスループット、またはそのいずれかが異なる可能性があることに注意してください。
Redis ベンチマーク ユーティリティ
Redis ベンチマークのドキュメントは、こちらにあります。
redis-benchmark.exe
では TLS はサポートされていません。 テストを実行する前に、ポータルで非 TLS ポートを有効にする必要があります。 redis-benchmark.exe の Windows 互換バージョンはこちらにあります。
Redis ベンチマークの例
テスト前のセットアップ: 待機時間とスループットのテストに必要なデータを使用してキャッシュ インスタンスを準備します。
redis-benchmark -h yourcache.redis.cache.windows.net -a yourAccesskey -t SET -n 10 -d 1024
待機時間をテストするには: 1 K のペイロードを使用して GET 要求をテストします。
redis-benchmark -h yourcache.redis.cache.windows.net -a yourAccesskey -t GET -d 1024 -P 50 -c 4
スループットをテストするには: 1 K のペイロードを使用した、パイプラインされた GET 要求。
redis-benchmark -h yourcache.redis.cache.windows.net -a yourAccesskey -t GET -n 1000000 -d 1024 -P 50 -c 50