Skip to content

Commit 53b1c9c

Browse files
Merge pull request #279822 from flang-msft/fxl---external-pr-123499--ado-28540228
Fxl---external pr 123499 ado 28540228
2 parents 9cb0437 + 75d214a commit 53b1c9c

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

articles/azure-cache-for-redis/cache-best-practices-performance.md

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: Learn how to test the performance of Azure Cache for Redis.
55
author: flang-msft
66
ms.service: cache
77
ms.topic: conceptual
8-
ms.date: 06/19/2023
8+
ms.date: 07/01/2024
99
ms.author: franlanglois
1010
---
1111

@@ -17,7 +17,7 @@ Fortunately, several tools exist to make benchmarking Redis easier. Two of the m
1717

1818
## How to use the redis-benchmark utility
1919

20-
1. Install open source Redis server to a client VM you can use for testing. The redis-benchmark utility is built into the open source Redis distribution. Follow the [Redis documentation](https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/) for instructions on how to install the open source image.
20+
1. Install open source Redis server to a client virtual machines (VMs) you can use for testing. The redis-benchmark utility is built into the open source Redis distribution. Follow the [Redis documentation](https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/) for instructions on how to install the open source image.
2121

2222
1. The client VM used for testing should be _in the same region_ as your Azure Cache for Redis instance.
2323

@@ -49,6 +49,10 @@ Fortunately, several tools exist to make benchmarking Redis easier. Two of the m
4949

5050
- On the Premium tier, scaling out, clustering, is typically recommended before scaling up. Clustering allows Redis server to use more vCPUs by sharding data. Throughput should increase roughly linearly when adding shards in this case.
5151

52+
- On _C0_ and _C1_ Standard caches, while internal Defender scanning is running on the VMs, you might see short spikes in server load not caused by an increase in cache requests. You see higher latency for requests while internal Defender scans are run on these tiers a couple of times a day. Caches on the _C0_ and _C1_ tiers only have a single core to multitask, dividing the work of serving internal Defender scanning and Redis requests. You can reduce the effect by scaling to a higher tier offering with multiple CPU cores, such as _C2_.
53+
54+
The increased cache size on the higher tiers helps address any latency concerns. Also, at the _C2_ level, you have support for as many as 2,000 client connections.
55+
5256
## Redis-benchmark examples
5357

5458
**Pre-test setup**:
@@ -88,7 +92,7 @@ redis-benchmark -h yourcache.region.redisenterprise.cache.azure.net -p 10000 -a
8892

8993
## Example performance benchmark data
9094

91-
The following tables show the maximum throughput values that were observed while testing various sizes of Standard, Premium, Enterprise, and Enterprise Flash caches. We used `redis-benchmark` from an IaaS Azure VM against the Azure Cache for Redis endpoint. The throughput numbers are only for GET commands. Typically, SET commands have a lower throughput. These numbers are optimized for throughput. Real-world throughput under acceptable latency conditions may be lower.
95+
The following tables show the maximum throughput values that were observed while testing various sizes of Standard, Premium, Enterprise, and Enterprise Flash caches. We used `redis-benchmark` from an IaaS Azure VM against the Azure Cache for Redis endpoint. The throughput numbers are only for GET commands. Typically, SET commands have a lower throughput. These numbers are optimized for throughput. Real-world throughput under acceptable latency conditions might be lower.
9296

9397
The following configuration was used to benchmark throughput for the Basic, Standard, and Premium tiers:
9498

@@ -144,7 +148,7 @@ redis-benchmark -h yourcache.region.redisenterprise.cache.azure.net -p 10000 -a
144148
145149
#### Enterprise Cluster Policy
146150

147-
| Instance | Size | vCPUs | Expected network bandwidth (Mbps)| GET requests per second without SSL (1-kB value size) | GET requests per second with SSL (1-kB value size) |
151+
| Instance | Size | vCPUs | Expected network bandwidth (Mbps)| `GET` requests per second without SSL (1-kB value size) | `GET` requests per second with SSL (1-kB value size) |
148152
|:---:| --- | ---:|---:| ---:| ---:|
149153
| E10 | 12 GB | 4 | 4,000 | 300,000 | 207,000 |
150154
| E20 | 25 GB | 4 | 4,000 | 680,000 | 480,000 |
@@ -156,7 +160,7 @@ redis-benchmark -h yourcache.region.redisenterprise.cache.azure.net -p 10000 -a
156160

157161
#### OSS Cluster Policy
158162

159-
| Instance | Size | vCPUs | Expected network bandwidth (Mbps)| GET requests per second without SSL (1-kB value size) | GET requests per second with SSL (1-kB value size) |
163+
| Instance | Size | vCPUs | Expected network bandwidth (Mbps)| `GET` requests per second without SSL (1-kB value size) | `GET` requests per second with SSL (1-kB value size) |
160164
|:---:| --- | ---:|---:| ---:| ---:|
161165
| E10 | 12 GB | 4 | 4,000 | 1,400,000 | 1,000,000 |
162166
| E20 | 25 GB | 4 | 4,000 | 1,200,000 | 900,000 |
@@ -170,7 +174,7 @@ redis-benchmark -h yourcache.region.redisenterprise.cache.azure.net -p 10000 -a
170174

171175
In addition to scaling up by moving to larger cache size, you can boost performance by [scaling out](cache-how-to-scale.md#how-to-scale-up-and-out---enterprise-and-enterprise-flash-tiers). In the Enterprise tiers, scaling out is called increasing the _capacity_ of the cache instance. A cache instance by default has capacity of two--meaning a primary and replica node. An Enterprise cache instance with a capacity of four indicates that the instance was scaled out by a factor of two. Scaling out provides access to more memory and vCPUs. Details on how many vCPUs are used by the core Redis process at each cache size and capacity can be found at the [Enterprise tiers best practices page](cache-best-practices-enterprise-tiers.md#sharding-and-cpu-utilization). Scaling out is most effective when using the OSS cluster policy.
172176

173-
The following tables show the GET requests per second at different capacities, using SSL and a 1-kB value size.
177+
The following tables show the `GET` requests per second at different capacities, using SSL and a 1-kB value size.
174178

175179
#### Scaling out - Enterprise cluster policy
176180

0 commit comments

Comments
 (0)