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/redis/how-to-scale.md
+30-19Lines changed: 30 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,14 +13,11 @@ appliesto:
13
13
14
14
# Scale (preview) an Azure Managed Redis instance
15
15
16
-
Azure Managed Redis has different SKU and tier offerings that provide flexibility in the choice of cache size and performance. You can scale to a larger memory size or change to a tier with more compute performance. This article shows you how to scale your cache using the Azure portal, plus tools such as Azure PowerShell and Azure CLI.
16
+
Azure Managed Redis has different SKU and tier offerings that provide flexibility in the choice of cache size and performance. You can scale (preview) to a larger memory size or change to a tier with more compute performance. You can also scale down a to a smaller or more appropriate tier. This article shows you how to scale your cache using the Azure portal, plus tools such as Azure PowerShell and Azure CLI.
17
17
18
18
> [!NOTE]
19
19
> Because each tier of Azure Managed Redis has almost the same features, scaling is typically used just to change memory and performance characteristics.
20
-
>
21
-
22
-
> [!IMPORTANT]
23
-
> Currently, only scaling up to larger memory sizes or a higher performance tier is supported. Scaling down memory sizes or to a less performant tier is not yet supported.
20
+
Scaling is currently in Public Preview.
24
21
>
25
22
26
23
## Types of scaling
@@ -29,22 +26,21 @@ Azure Managed Redis supports scaling in two dimensions:
29
26
30
27
-**Memory** Increasing memory increases the size of the Redis instance, allowing you to store more data. When reducing the memory, you need to ensure that your current memory usage is less than new memory size you want to use.
31
28
32
-
-**vCPUs** Azure Managed Redis offers three tiers (_Memory Optimized_, _Balanced_, and _Compute Optimized_) that have an increasing number of vCPUs for each level of memory. Scaling to a tier with more vCPUs increases the performance of your instance without requiring you to increase memory. Unlike the community edition of Azure Cache for Redis, which can only utilize a single vCPU, Azure Managed Redis uses the Redis Enterprise stack, which is able to use multiple vCPUs. This means that the number of vCPUs used by your Redis instance directly correlates with throughput and latency performance.
33
-
<!-- Community edition means what here? Basic, Standard and Premium? -->
29
+
-**vCPUs** Azure Managed Redis offers three tiers (_Memory Optimized_, _Balanced_, and _Compute Optimized_) that have an increasing number of vCPUs for each level of memory. Scaling to a tier with more vCPUs increases the performance of your instance without requiring you to increase memory. Unlike the Basic, Standard, an Premium tiers of Azure Cache for Redis, which can only utilize a single vCPU, Azure Managed Redis uses the Redis Enterprise stack, which is able to use multiple vCPUs. This means that the number of vCPUs used by your Redis instance directly correlates with throughput and latency performance.
34
30
35
31
## Performance tiers
36
32
37
33
There are four tiers of Azure Managed Redis available, each with different performance characteristics and price levels.
38
34
39
35
Three tiers are for in-memory data:
40
36
41
-
-_Memory Optimized_. Ideal for memory-intensive use cases that require a high memory-to-vCPU ratio (8:1) but don't need the highest throughput performance. It provides a lower price point for scenarios where less processing power or throughput is necessary, making it an excellent choice for development and testing environments.
42
-
-_Balanced (Memory + Compute)_. Offers a balanced memory-to-vCPU (4:1) ratio, making it ideal for standard workloads. It provides a healthy balance of memory and compute resources.
43
-
-_Compute Optimized_. Designed for performance-intensive workloads requiring maximum throughput, with a low memory-to-vCPU (2:1) ratio. It's ideal for applications that demand the highest performance.
37
+
-_Memory Optimized_ - Ideal for memory-intensive use cases that require a high memory-to-vCPU ratio (8:1) but don't need the highest throughput performance. It provides a lower price point for scenarios where less processing power or throughput is necessary, making it an excellent choice for development and testing environments.
38
+
-_Balanced (Memory + Compute)_ - Offers a balanced memory-to-vCPU (4:1) ratio, making it ideal for standard workloads. It provides a healthy balance of memory and compute resources.
39
+
-_Compute Optimized_ - Designed for performance-intensive workloads requiring maximum throughput, with a low memory-to-vCPU (2:1) ratio. It's ideal for applications that demand the highest performance.
44
40
45
41
One tier stores data both in-memory and on-disk:
46
42
47
-
-_Flash Optimized_. Enables Redis clusters to automatically move less frequently accessed data from memory (RAM) to NVMe storage. This reduces performance, but allows for cost-effective scaling of caches with large datasets.
43
+
-_Flash Optimized_ (preview) - Enables Redis clusters to automatically move less frequently accessed data from memory (RAM) to NVMe storage. This reduces performance, but allows for cost-effective scaling of caches with large datasets.
@@ -83,28 +79,29 @@ For more information on how to optimize the scaling process, see the [best pract
83
79
- You can't scale from the **Memory Optimized**, **Balanced**, or **Compute Optimized** tiers to the **Flash Optimized** tier, or vice-versa.
84
80
- When reducing the memory for your Redis instance, the current memory usage of your Redis instance should be less than the intended new memory size. For more details, see [What will happen to my data if I scale to smaller memory size?](#what-will-happen-to-my-data-if-i-scale-to-smaller-memory-size).
85
81
- When reducing the memory or vCPU for your Redis instance, you can only scale to SKUs which have a vCPU and shard configuration that is compatible with the configuration on your current instance.
86
-
<!-- We removed the table so we need to find a way convey this information -->
87
82
- In some cases when scaling, the underlying IP address of the Redis instance can change. The DNS record for the instance changes and is transparent to most applications. However, if you use an IP address to configure the connection to your Redis instance, or to configure NSGs, or firewalls allowing traffic to the Redis instance, your application might have trouble connecting sometime after the DNS record updates.
88
83
- Scaling an instance in a geo-replication group has some more limitations. See [Are there scaling limitations with geo-replication?](#are-there-scaling-limitations-with-geo-replication) for more information.
89
84
90
85
## How to scale (preview)
91
86
87
+
In this section, we describe how to scale an Azure Managed Redis Cache.
88
+
92
89
### Scale using the Azure portal
93
90
94
91
1. To scale your cache, [browse to the cache](configure.md#configure-azure-managed-redis-settings) in the [Azure portal](https://portal.azure.com) and select **Scale** from the Resource menu.
95
92
96
-
:::image type="content" source="media/how-to-scale/managed-redis-enterprise-scale.png" alt-text="Screenshot showing Scale selected in the Resource menu for an Enterprise cache.":::
93
+
<!--:::image type="content" source="media/how-to-scale/managed-redis-enterprise-scale.png" alt-text="Screenshot showing Scale selected in the Resource menu for an Enterprise cache.":::-->
97
94
98
95
1. To scale your vCPUs, choose a different **Cache type** and then choose **Save**.
99
96
100
97
> [!IMPORTANT]
101
98
> If you select a SKU that cannot be scaled to, the **Save** option is disabled. Review the [Limitations of scaling Azure Managed Redis](#limitations-of-scaling-azure-managed-redis) section for details on which scaling options are allowed.
102
99
103
-
:::image type="content" source="media/how-to-scale/managed-redis-enterprise-scale-up.png" alt-text="Screenshot showing the Enterprise tiers in the working pane.":::
100
+
<!--:::image type="content" source="media/how-to-scale/managed-redis-enterprise-scale-up.png" alt-text="Screenshot showing the Enterprise tiers in the working pane.":::-->
104
101
105
102
1. While the cache is scaling to the new tier, a **Scaling Redis Cache** notification is displayed.
106
103
107
-
:::image type="content" source="media/how-to-scale/managed-redis-enterprise-notifications.png" alt-text="Screenshot showing notification of scaling an Enterprise cache.":::
104
+
<!--:::image type="content" source="media/how-to-scale/managed-redis-enterprise-notifications.png" alt-text="Screenshot showing notification of scaling an Enterprise cache.":::-->
108
105
109
106
1. When scaling is complete, the status changes from **Scaling** to **Running** when viewing the **Overview** section of the Resource menu.
110
107
@@ -113,15 +110,15 @@ For more information on how to optimize the scaling process, see the [best pract
113
110
You can scale your Azure Managed Redis instances with PowerShell by using the [Update-AzRedisEnterpriseCache](/powershell/module/az.redisenterprisecache/update-azredisenterprisecache) cmdlet. You can modify the `Sku` property to select the tier and SKU you need. The following example shows how to scale a cache named `myCache` to a Compute Optimized X20 (24 GB) instance.
To scale your Azure Managed Redis instances using Azure CLI, call the [az redisenterprise update](/cli/azure/redisenterprise#az-redisenterprise-update) command. You can modify the `sku` property to select the tier and SKU you need. The following example shows how to scale a cache named `myCache` to a Compute Optimized X20 (24 GB) instance.
122
119
123
120
```azurecli
124
-
az redisenterprise update --cluster-name "myCache" --resource-group "myGroup" --sku "ComputeOptimized_X20"
121
+
az redisenterprise update --cluster-name <your-cache-name> --resource-group <your-resource-group> --sku <name-of-sku>
125
122
```
126
123
127
124
## Scaling FAQ
@@ -141,17 +138,23 @@ The following list contains answers to commonly asked questions about Azure Mana
141
138
[How many shards does each Azure Managed Redis SKU use?](#how-many-shards-does-each-azure-managed-redis-sku-use)
142
139
-[How are keys distributed in a cluster?](#how-are-keys-distributed-in-a-cluster)
143
140
-[What is the largest cache size I can create?](#what-is-the-largest-cache-size-i-can-create)
141
+
-[Why can only I scale down to a subset of smaller SKUs?](#why-can-only-i-scale-down-to-a-subset-of-smaller-skus)
144
142
145
143
### Can I scale within or across tiers?
146
144
147
145
You can always scale to a higher performance tier at the same memory size or a larger memory size within the same performance tier. For scaling to a lower performance tier or smaller memory size, we recommend you run the "listskusforscaling" REST API to get the list of SKUs that you can scale to.
148
-
<!-- Perhaps we can add some code or cli commands to show this. -->
146
+
147
+
```azurecli
148
+
az redisenterprise list-skus-for-scaling --cluster-name <your-redis-instance> --resource-group <your-resource-group>
149
+
```
149
150
150
151
### What will happen to my data if I scale to smaller memory size?
151
152
152
153
You can scale to a smaller memory size only if the current memory usage is less than the intended smaller memory size. If the current memory usage is higher than the intended smaller size, your scaling request will fail. You can reduce the current memory usage by deleted unwanted key value pairs or by running the flush operation.
153
154
154
-
<!-- (Add link) -->
155
+
```azurecli
156
+
az redisenterprise database flush --cluster-name <your-redis-instance> --resource-group <your-resource-group>
157
+
```
155
158
156
159
### After scaling, do I have to change my cache name or access keys?
157
160
@@ -217,6 +220,14 @@ For more information, see [Keys distribution model](https://redis.io/topics/clus
217
220
218
221
The largest cache size you can have is 4.5 TB, called Flash Optimized A4500 instance. [Azure Cache for Redis Pricing](https://azure.microsoft.com/pricing/details/cache/).
219
222
223
+
### Why can only I scale down to a subset of smaller SKUs?
224
+
225
+
To maintain compatibility with number of shards and vCPU, you're allowed to scale down to a certain SKUs only. To find out which SKUs your Redis instance can scale down to, you can review the list of SKUs that are populated in the Scale section of the resource menu in the Azure portal. You can also run the following CLI command
226
+
227
+
```azurecli
228
+
az redisenterprise list-skus-for-scaling --cluster-name <your-redis-instance> --resource-group <your-resource-group>
229
+
```
230
+
220
231
## Related content
221
232
222
233
-[Best practices for scaling](best-practices-scale.md)
Copy file name to clipboardExpand all lines: articles/redis/includes/tier-preview.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,6 @@ ms.topic: include
5
5
---
6
6
7
7
> [!IMPORTANT]
8
-
> All in-memory tiers that use over 100 GB of storage are in Public Preview, including Memory Optimized M150 and higher; Balanced B150 and higher; and Compute Optimized X150 and higher. All these tiers and higher are in Public Preview.
8
+
> All in-memory tiers that use over 120 GB of storage are in Public Preview, including Memory Optimized M150 and higher; Balanced B150 and higher; and Compute Optimized X150 and higher. All these tiers and higher are in Public Preview.
9
9
>
10
10
> All Flash Optimized tiers are in Public Preview.
0 commit comments