You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/azure-cache-for-redis/cache-best-practices-enterprise-tiers.md
+24-14Lines changed: 24 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,11 @@
1
1
---
2
2
title: Best practices for the Enterprise tiers
3
3
titleSuffix: Azure Cache for Redis
4
-
description: Learn the best practices when using the high performance Azure Cache for Redis Enterprise and Enterprise Flash tiers
4
+
description: Learn the best practices when using the high performance Azure Cache for Redis Enterprise and Enterprise Flash tiers.
5
5
author: flang-msft
6
6
ms.service: cache
7
7
ms.topic: conceptual
8
-
ms.date: 09/26/2023
8
+
ms.date: 05/21/2024
9
9
ms.author: franlanglois
10
10
---
11
11
@@ -29,7 +29,7 @@ Conversely, the opposite recommendation is true for the Basic, Standard, and Pre
29
29
30
30
## Sharding and CPU utilization
31
31
32
-
In the Basic, Standard, and Premium tiers of Azure Cache for Redis, determining the number of virtual CPUs (vCPUs) utilized is straightforward. Each Redis node runs on a dedicated VM. The Redis server process is single-threaded, utilizing one vCPU on each primary and each replica node. The other vCPUs on the VM are still used for other activities, such as workflow coordination for different tasks, health monitoring, and TLS load, among others.
32
+
In the Basic, Standard, and Premium tiers of Azure Cache for Redis, determining the number of virtual CPUs (vCPUs) utilized is straightforward. Each Redis node runs on a dedicated virtual machine (VM). The Redis server process is single-threaded, utilizing one vCPU on each primary and each replica node. The other vCPUs on the VM are still used for other activities, such as workflow coordination for different tasks, health monitoring, and TLS load, among others.
33
33
34
34
When you use clustering, the effect is to spread data across more nodes with one shard per node. By increasing the number of shards, you linearly increase the number of vCPUs you use, based on the number of shards in the cluster.
35
35
@@ -38,19 +38,21 @@ Redis Enterprise, on the other hand, can use multiple vCPUs for the Redis instan
38
38
The tables show the number of vCPUs used for the primary shards, not the replica shards. Shards don't map one-to-one to the number of vCPUs. The tables only illustrate vCPUs, not shards. Some configurations use more shards than available vCPUs to boost performance in some usage scenarios.
39
39
40
40
### E1
41
+
41
42
|Capacity|Effective vCPUs|
42
43
|---:|---:|
43
44
| 2 | 1 (burstable) |
44
45
45
-
46
46
### E5
47
+
47
48
|Capacity|Effective vCPUs|
48
49
|---:|---:|
49
50
| 2 | 1 |
50
51
| 4 | 2 |
51
52
| 6 | 6 |
52
53
53
54
### E10
55
+
54
56
|Capacity|Effective vCPUs|
55
57
|---:|---:|
56
58
| 2 | 2 |
@@ -90,6 +92,7 @@ The tables show the number of vCPUs used for the primary shards, not the replica
90
92
|10|30|
91
93
92
94
### E200
95
+
93
96
|Capacity|Effective vCPUs|
94
97
|---:|---:|
95
98
|2|30|
@@ -99,6 +102,7 @@ The tables show the number of vCPUs used for the primary shards, not the replica
99
102
|10|120|
100
103
101
104
### E400
105
+
102
106
|Capacity|Effective vCPUs|
103
107
|---:|---:|
104
108
|2|60|
@@ -146,24 +150,30 @@ You might also see `CROSSSLOT` errors with Enterprise clustering policy. Only th
146
150
In Active-Active databases, multi-key write commands (`DEL`, `MSET`, `UNLINK`) can only be run on keys that are in the same slot. However, the following multi-key commands are allowed across slots in Active-Active databases: `MGET`, `EXISTS`, and `TOUCH`. For more information, see [Database clustering](https://docs.redis.com/latest/rs/databases/durability-ha/clustering/#multikey-operations).
147
151
148
152
## Enterprise Flash Best Practices
149
-
The Enterprise Flash tier utilizes both NVMe Flash storage and RAM. Because Flash storage is lower cost, using the Enterprise Flash tier allows you to trade off some performance for price efficiency.
150
153
151
-
On Enterprise Flash instances, 20% of the cache space is on RAM, while the other 80% uses Flash storage. All of the _keys_ are stored on RAM, while the _values_ can be stored either in Flash storage or RAM. The location of the values is determined intelligently by the Redis software. "Hot" values that are accessed fequently are stored on RAM, while "Cold" values that are less commonly used are kept on Flash. Before data is read or written, it must be moved to RAM, becoming "Hot" data.
154
+
The Enterprise Flash tier utilizes both NVMe Flash storage and RAM. Because Flash storage is lower cost, using the Enterprise Flash tier allows you to trade off some performance for price efficiency.
152
155
153
-
Because Redis will optmize for the best performance, the instance will first fill up the available RAM before adding items to Flash storage. This has a few implications for performance:
154
-
- When testing with low memory usage, performance and latency may be significantly better than with a full cache instance because only RAM is being used.
155
-
- As you write more data to the cache, the proportion of data in RAM compared to Flash storage will decrease, typically causing latency and throughput performance to decrease as well.
156
+
On Enterprise Flash instances, 20% of the cache space is on RAM, while the other 80% uses Flash storage. All of the _keys_ are stored on RAM, while the _values_ can be stored either in Flash storage or RAM. The Redis software intelligently determines the location of the values. _Hot_ values that are accessed frequently are stored on RAM, while _Cold_ values that are less commonly used are kept on Flash. Before data is read or written, it must be moved to RAM, becoming "Hot" data.
157
+
158
+
Because Redis optimizes for the best performance, the instance first fills up the available RAM before adding items to Flash storage. Filly RAM first has a few implications for performance:
159
+
160
+
- Better performance and lower latency can occur when testing with low memory usage. Testing with a full cache instance can yield lower performance because only RAM is being used in the low memory usage testing phase.
161
+
- As you write more data to the cache, the proportion of data in RAM compared to Flash storage decreases, typically causing latency and throughput performance to decrease as well.
156
162
157
163
### Workloads well-suited for the Enterprise Flash tier
164
+
158
165
Workloads that are likely to run well on the Enterprise Flash tier often have the following characteristics:
166
+
159
167
- Read heavy, with a high ratio of read commands to write commands.
160
-
- Access is focused on a subset of keys which are used much more frequently than the rest of the dataset.
161
-
- Relatively large values in comparison to key names. (Since key names are always stored in RAM, this can become a bottleneck for memory growth.)
168
+
- Access is focused on a subset of keys that are used much more frequently than the rest of the dataset.
169
+
- Relatively large values in comparison to key names. (Because key names are always stored in RAM, large values can become a bottleneck for memory growth.)
170
+
171
+
### Workloads that aren't well-suited for the Enterprise Flash tier
162
172
163
-
### Workloads that are not well-suited for the Enterprise Flash tier
164
173
Some workloads have access characteristics that are less optimized for the design of the Flash tier:
174
+
165
175
- Write heavy workloads.
166
-
- Random or uniform data access paterns across most of the dataset.
176
+
- Random or uniform data access patterns across most of the dataset.
167
177
- Long key names with relatively small value sizes.
168
178
169
179
## Handling Region Down Scenarios with Active Geo-Replication
@@ -187,7 +197,7 @@ Many customers want to use persistence to take periodic backups of the data on t
187
197
188
198
## E1 SKU Limitations
189
199
190
-
The E1 SKU is intented primarily for dev/test scenarios. It runs on smaller [burstable VMs](../virtual-machines/b-series-cpu-credit-model/b-series-cpu-credit-model.md), which offers variable performance based on how much CPU is consumed. Unlike other Enterprise SKU offerings, it is not possible to scale the E1 SKU out, although it is still possible to scale up to a larger SKU. The E1 SKU also does not support [active geo-replication](cache-how-to-active-geo-replication.md).
200
+
The E1 SKU is intended for dev/test scenarios, primarily. E1 runs on smaller [burstable VMs](../virtual-machines/b-series-cpu-credit-model/b-series-cpu-credit-model.md). Burstable VMs offer variable performance based on how much CPU is consumed. Unlike other Enterprise SKU offerings, you can't _scale out_the E1 SKU, although it's still possible to _scale up_ to a larger SKU. The E1 SKU also doesn't support [active geo-replication](cache-how-to-active-geo-replication.md).
Copy file name to clipboardExpand all lines: articles/azure-cache-for-redis/cache-how-to-active-geo-replication.md
+8-9Lines changed: 8 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,12 +31,13 @@ The Premium tier of Azure Cache for Redis offers a version of geo-replication ca
31
31
## Active geo-replication prerequisites
32
32
33
33
There are a few restrictions when using active geo replication:
34
+
34
35
- Only the [RediSearch](cache-redis-modules.md#redisearch) and [RedisJSON](cache-redis-modules.md#redisjson) modules are supported
35
36
- On the _Enterprise Flash_ tier, only the _No Eviction_ eviction policy can be used. All eviction policies are supported on the _Enterprise_ tier.
36
37
- Data persistence isn't supported because active geo-replication provides a superior experience.
37
38
- You can't add an existing (that is, running) cache to a geo-replication group. You can only add a cache to a geo-replication group when you create the cache.
38
-
- All caches within a geo-replication group must have the same configuration. For example, all caches must have the same SKU, capacity, eviction policy, clustering policy, modules, and TLS setting.
39
-
- You can't use the `FLUSHALL` and `FLUSHDB` Redis commands when using active geo-replication. Prohibiting the commands prevents unintended deletion of data. Use the [flush control plane operation](#flush-operation) instead.
39
+
- All caches within a geo-replication group must have the same configuration. For example, all caches must have the same SKU, capacity, eviction policy, clustering policy, modules, and TLS setting.
40
+
- You can't use the `FLUSHALL` and `FLUSHDB` Redis commands when using active geo-replication. Prohibiting the commands prevents unintended deletion of data. Use the [flush operation](#flush-operation) from the portal instead.
40
41
- The E1 SKU does not support active geo-replication.
41
42
42
43
## Create or join an active geo-replication group
@@ -137,16 +138,16 @@ As before, you need to list both _Cache1_ and _Cache2_ using the `-LinkedDatabas
137
138
138
139
## Flush operation
139
140
140
-
Due to the potential for inadvertent data loss, you can't use the `FLUSHALL` and `FLUSHDB` Redis commands with any cache instance residing in a geo-replication group. Instead, use the **Flush Cache(s)** button located at the top of the **Active geo-replication** working pane.
141
+
Due to the potential for inadvertent data loss, you can't use the `FLUSHALL` and `FLUSHDB` Redis commands with any cache instance residing in a geo-replication group. Instead, use the **Flush Cache(s)** button located at the top of the **Active geo-replication** working pane.
141
142
142
143
:::image type="content" source="media/cache-how-to-active-geo-replication/cache-active-flush.png" alt-text="Screenshot showing Active geo-replication selected in the Resource menu and the Flush cache feature has a red box around it.":::
143
144
144
145
### Flush caches using Azure CLI or PowerShell
145
146
146
-
The Azure CLI and PowerShell can also be used to trigger a flush operation. For more information on using Azure CLI, see [az redisenterprise database flush](/cli/azure/redisenterprise#az-redisenterprise-database-flush). For more information on using PowerShell, see [Invoke-AzRedisEnterpriseCacheDatabaseFlush](/powershell/module/az.redisenterprisecache/invoke-azredisenterprisecachedatabaseflush).
147
+
The Azure CLI and PowerShell can also be used to trigger a flush operation. For more information on using Azure CLI, see [az redisenterprise database flush](/cli/azure/redisenterprise#az-redisenterprise-database-flush). For more information on using PowerShell, see [Invoke-AzRedisEnterpriseCacheDatabaseFlush](/powershell/module/az.redisenterprisecache/invoke-azredisenterprisecachedatabaseflush).
147
148
148
149
> [!IMPORTANT]
149
-
> Be careful when using the **Flush Caches** feature. Selecting the button removes all data from the current cache and from ALL linked caches in the geo-replication group.
150
+
> Be careful when using the **Flush Caches** feature. Selecting the button removes all data from the current cache and from ALL linked caches in the geo-replication group.
150
151
>
151
152
152
153
Manage access to the feature using [Azure role-based access control](../role-based-access-control/overview.md). Only authorized users should be given access to flush all caches.
@@ -155,7 +156,5 @@ Manage access to the feature using [Azure role-based access control](../role-bas
155
156
156
157
Learn more about Azure Cache for Redis features.
157
158
158
-
*[Azure Cache for Redis service tiers](cache-overview.md#service-tiers)
159
-
*[High availability for Azure Cache for Redis](cache-high-availability.md)
160
-
161
-
159
+
-[Azure Cache for Redis service tiers](cache-overview.md#service-tiers)
160
+
-[High availability for Azure Cache for Redis](cache-high-availability.md)
0 commit comments