Skip to content

Commit d4713a9

Browse files
committed
Fixed Acrolinx suggestions
1 parent dff664a commit d4713a9

File tree

1 file changed

+17
-17
lines changed

1 file changed

+17
-17
lines changed

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

Lines changed: 17 additions & 17 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: 08/25/2021
8+
ms.date: 08/25/2023
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 documention](https://redis.io/docs/getting-started/#install-redis) for instructions on how to install the open source image.
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/getting-started/#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

@@ -27,11 +27,11 @@ Fortunately, several tools exist to make benchmarking Redis easier. Two of the m
2727

2828
1. If you're using TLS/SSL on your cache instance, you need to add the `--tls` parameter to your redis-benchmark command or use a proxy like [stunnel](https://www.stunnel.org/index.html).
2929

30-
1. Note that redis-benchmark uses port 6379 by default. Use the `-p` parameter to override this setting. You need to do this, for example, if you're using the SSL/TLS (port 6380) or are using the Enterprise tier (port 10000).
30+
1. `Redis-benchmark` uses port 6379 by default. Use the `-p` parameter to override this setting. You need to do use `-p`, if you're using the SSL/TLS (port 6380) or are using the Enterprise tier (port 10000).
3131

32-
1. If you're using an Azure Cache for Redis instance that uses [clustering](cache-how-to-scale.md), you need to add the `--cluster` parameter to your redis-benchmark command. Enterprise tier caches using the [Enterprise clustering policy](cache-best-practices-enterprise-tiers.md#clustering-on-enterprise) can be treated as non-clustered caches and do not need this setting.
32+
1. If you're using an Azure Cache for Redis instance that uses [clustering](cache-how-to-scale.md), you need to add the `--cluster` parameter to your `redis-benchmark` command. Enterprise tier caches using the [Enterprise clustering policy](cache-best-practices-enterprise-tiers.md#clustering-on-enterprise) can be treated as nonclustered caches and don't need this setting.
3333

34-
1. Launch redis-benchmark from the CLI or shell of the VM. For instructions on how to configure and run the tool, see the [redis-benchmark documentation](https://redis.io/docs/management/optimization/benchmarks/) and the [redis-benchmark examples](#redis-benchmark-examples) section below.
34+
1. Launch `redis-benchmark` from the CLI or shell of the VM. For instructions on how to configure and run the tool, see the [redis-benchmark documentation](https://redis.io/docs/management/optimization/benchmarks/) and the [redis-benchmark examples](#redis-benchmark-examples) sections.
3535

3636
## Benchmarking recommendations
3737

@@ -41,13 +41,13 @@ Fortunately, several tools exist to make benchmarking Redis easier. Two of the m
4141

4242
- The Enterprise tier generally has the best performance, as Redis Enterprise allows the core Redis process to utilize multiple vCPUs. Tiers based on open source Redis, such as Standard and Premium, are only able to utilize one vCPU for the Redis process per shard.
4343

44-
- Benchmarking the Enterprise Flash tier can be difficult because some keys are stored on DRAM and some on NVMe flash disk. The keys on DRAM will benchmark virtually as fast as an Enterprise tier instance, but the keys on NVMe flash disk will be slower. Since the Enterprise Flash tier intelligently places the most-used keys into DRAM, ensure that your benchmark configuration matches the actual usage you expect. Consider using the `-r` parameter to randomize which keys are accessed.
44+
- Benchmarking the Enterprise Flash tier can be difficult because some keys are stored on DRAM whiles some are stored on NVMe flash disk. The keys on DRAM benchmark almost as fast as an Enterprise tier instance, but the keys on NVMe flash disk are slower. Since the Enterprise Flash tier intelligently places the most-used keys into DRAM, ensure that your benchmark configuration matches the actual usage you expect. Consider using the `-r` parameter to randomize which keys are accessed.
4545

46-
- Using TLS/SSL decreases throughput performance, which can be seen clearly in the example benchamarking data below.
46+
- Using TLS/SSL decreases throughput performance, which can be seen clearly in the example benchmarking data in the following tables.
4747

48-
- Even though Redis is single-threaded, scaling up tends to improve throughput performance because the extra vCPUs can be utilizied by system processes that would otherwise share the vCPU being used by the Redis process. Scaling up is especially helpful on the Enterprise and Enterprise Flash tiers because Redis Enterprise is not limited to a single thread. See [Enterprise tier best practices](cache-best-practices-enterprise-tiers.md#scaling) for more information.
48+
- Even though a Redis server is single-threaded, scaling up tends to improve throughput performance. System processes can use the extra vCPUs instead of sharing the vCPU being used by the Redis process. Scaling up is especially helpful on the Enterprise and Enterprise Flash tiers because Redis Enterprise isn't limited to a single thread. For more information, see [Enterprise tier best practices](cache-best-practices-enterprise-tiers.md#scaling).
4949

50-
- On the Premium tier, scaling out (that is, clustering) is typically recommended before scaling up because clustering allows for more vCPUs to be utilized by the Redis process through sharding data. Throughput should increase roughly linearly when adding shards in this case.
50+
- 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

5252
## Redis-benchmark examples
5353

@@ -101,7 +101,7 @@ redis-benchmark -h yourcache.redis.cache.windows.net -a yourAccesskey -t GET -n
101101
102102
### Standard tier
103103

104-
| 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) |
104+
| 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) |
105105
| --- | --- | --- | --- | --- | --- |
106106
| C0 | 250 MB | Shared | 100 | 15,000 | 7,500 |
107107
| C1 | 1 GB | 1 | 500 | 38,000 | 20,720 |
@@ -112,7 +112,7 @@ redis-benchmark -h yourcache.redis.cache.windows.net -a yourAccesskey -t GET -n
112112
| C6 | 53 GB | 8 | 2,000 | 126,000 | 120,000 |
113113

114114
### Premium tier
115-
| 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) |
115+
| 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) |
116116
| --- | --- | --- | --- | --- | --- |
117117
| P1 | 6 GB | 2 | 1,500 | 180,000 | 172,000 |
118118
| P2 | 13 GB | 4 | 3,000 | 350,000 | 341,000 |
@@ -125,14 +125,14 @@ redis-benchmark -h yourcache.redis.cache.windows.net -a yourAccesskey -t GET -n
125125
126126
### Enterprise & Enterprise Flash tiers
127127

128-
The Enterprise and Enterprise Flash tiers offer a choice of cluster policy: _Enterprise_ and _OSS_. Enterprise cluster policy is a simpler configuration that doesn't require the client to support clustering. OSS cluster policy, on the other hand, uses the [Redis cluster protocol](https://redis.io/docs/management/scaling) to support higher throughputs. We recommend using OSS cluster policy in most cases. See [Clustering on Enterprise](cache-best-practices-enterprise-tiers.md#clustering-on-enterprise) for more information. Benchmarks for both cluster policies are shown below.
128+
The Enterprise and Enterprise Flash tiers offer a choice of cluster policy: _Enterprise_ and _OSS_. Enterprise cluster policy is a simpler configuration that doesn't require the client to support clustering. OSS cluster policy, on the other hand, uses the [Redis cluster protocol](https://redis.io/docs/management/scaling) to support higher throughputs. We recommend using OSS cluster policy in most cases. For more information, see [Clustering on Enterprise](cache-best-practices-enterprise-tiers.md#clustering-on-enterprise). Benchmarks for both cluster policies are shown in the following tables.
129129

130130
**Enterprise Cluster Policy**
131131

132-
| 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) |
132+
| 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) |
133133
| --- | --- | --- | --- | --- | --- |
134134
| E10 | 12 GB | 4 | 4,000 | 300,000 | 200,000 |
135-
| E20 | 25 GB | 4 | 4,000 | 550,00 | 390,000 |
135+
| E20 | 25 GB | 4 | 4,000 | 550,000 | 390,000 |
136136
| E50 | 50 GB | 8 | 8,000 | 950,000 | 530,000 |
137137
| E100 | 100 GB | 16 | 10,000 | 1,300,000 | 580,000 |
138138
| F300 | 384 GB | 8 | 3,200 | 650,000 | 310,000 |
@@ -141,7 +141,7 @@ The Enterprise and Enterprise Flash tiers offer a choice of cluster policy: _Ent
141141

142142
**OSS Cluster Policy**
143143

144-
| 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) |
144+
| 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) |
145145
| --- | --- | --- | --- | --- | --- |
146146
| E10 | 12 GB | 4 | 4,000 | 1,300,000 | 800,000 |
147147
| E20 | 25 GB | 4 | 4,000 | 1,000,000 | 710,000 |
@@ -153,9 +153,9 @@ The Enterprise and Enterprise Flash tiers offer a choice of cluster policy: _Ent
153153

154154
### Enterprise & Enterprise Flash Tiers - Scaled Out
155155

156-
In addition to scaling up by moving to larger cache size, it is also possible to 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, this is called increasing the _capacity_ of the cache instance. A cache instance by default has capacity of two--meaning there is a primary and replica node. An Enterprise cache instance with a capacity of four indicates that the instance has been scaled out by a factor of two. Scaling out provides access to more memory and vCPUs. Details on how many vCPUs are utilized 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.
156+
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.
157157

158-
The tables below show the GET requests per second at different capacities, using SSL and a 1kB value size.
158+
The following tables show the GET requests per second at different capacities, using SSL and a 1-kB value size.
159159

160160
**Scaling out - Enterprise cluster policy**
161161

0 commit comments

Comments
 (0)