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-kubernetes.md
+21-19Lines changed: 21 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,49 +1,51 @@
1
1
---
2
-
title: Best practices for hosting a Kubernetes client application
3
-
description: Learn how to host a Kubernetes client application.
2
+
title: Best practices for Kubernetes-hosted client apps
3
+
description: Learn about best practices for using Azure Cache for Redis in Kubernetes-hosted client applications.
4
4
ms.custom: linux-related-content, ignite-2024
5
5
ms.topic: conceptual
6
-
ms.date: 11/10/2023
6
+
ms.date: 05/28/2025
7
7
appliesto:
8
8
- ✅ Azure Cache for Redis
9
9
10
10
---
11
11
12
-
# Kubernetes-hosted client application
12
+
# Kubernetes-hosted client applications
13
13
14
-
## Client connections from multiple pods
14
+
This article provides best practices for using Azure Cache for Redis in Kubernetes-hosted client applications.
15
15
16
-
When you have multiple pods connecting to a Redis server, make sure the new connections from the pods are created in a staggered manner. If multiple pods start in a short time without staggering, it causes a sudden spike in the number of client connections created. The high number of connections leads to high load on the Redis server and might cause timeouts.
16
+
## Stagger multiple connections
17
17
18
-
Avoid the same scenario when shutting down multiple pods at the same time. Failing to stagger shutdown might cause a steep dip in the number of connections that leads to CPU pressure.
18
+
Make sure to stagger multiple pod connections to a Redis server. Starting multiple pods in a short time without staggering causes a sudden spike in the number of client connections, leading to high load on the Redis server and possible timeouts.
19
19
20
-
## Sufficient pod resources
20
+
Also avoid shutting down multiple pods at the same time. Failing to stagger shutdown might cause a steep dip in the number of connections leading to CPU pressure.
21
21
22
-
Ensure that the pod running your client application is given enough CPU and memory resources. If the client application is running close to its resource limits, it can result in timeouts.
22
+
## Provide sufficient pod resources
23
23
24
-
## Sufficient node resources
24
+
Make sure to give the pod running your client application enough CPU and memory resources. Client applications running close to their resource limits can lead to timeouts.
25
25
26
-
A pod running the client application can be affected by other pods running on the same node and throttle Redis connections or IO operations. So always ensure that the node on which your client application pods run have enough memory, CPU, and network bandwidth. Running low on any of these resources could result in connectivity issues.
26
+
## Provide sufficient node resources
27
27
28
-
## Linux-hosted client applications and TCP settings
28
+
The pod running the client application can be affected by other pods running on the same node, and throttle Redis connections or IO operations. Make sure the nodes that run your client application pods have enough memory, CPU, and network bandwidth. Insufficient amounts of these resources could result in connectivity issues.
29
29
30
-
If your Azure Cache for Redis client application runs on a Linux-based container, we recommend updating some TCP settings. These settings are detailed in [TCP settings for Linux-hosted client applications](cache-best-practices-connection.md#tcp-settings-for-linux-hosted-client-applications).
30
+
## Check TCP settingsfor Linuxapplications
31
31
32
-
## Potential connection collision with _Istio/Envoy_
32
+
If your Azure Redis client application runs on a Linux-based container, make sure your TCP settings match the [TCP settings for Linux-hosted client applications](cache-best-practices-connection.md#tcp-settings-for-linux-hosted-client-applications).
33
+
34
+
## Avoid connection collision with Istio
33
35
34
36
<!-- Currently, Azure Cache for Redis uses ports 15xxx for clustered caches to expose cluster nodes to client applications. As documented [here](https://istio.io/latest/docs/ops/deployment/application-requirements/#ports-used-by-istio), the same ports are also used by _Istio.io_ sidecar proxy called _Envoy_ and could interfere with creating connections, especially on port 15001 and 15006. -->
35
37
36
-
When using _Istio_with an Azure Managed Redis cluster, consider excluding the potential collision ports with an [istio annotation](https://istio.io/latest/docs/reference/config/annotations/).
38
+
If you use Istio with an Azure Managed Redis cluster, consider excluding potential collision ports with the following [Istio annotation](https://istio.io/latest/docs/reference/config/annotations/):
description: Learn the answers to common questions that help you monitor and troubleshoot Azure Cache for Redis.
3
+
title: Monitoring and troubleshooting FAQs
4
+
description: Learn the answers to common questions to help you monitor and troubleshoot Azure Cache for Redis.
5
5
6
6
7
7
8
8
ms.topic: faq
9
-
ms.date: 12/01/2021
9
+
ms.date: 05/23/2025
10
10
appliesto:
11
11
- ✅ Azure Cache for Redis
12
12
@@ -18,59 +18,67 @@ sections:
18
18
- name: Ignored
19
19
questions:
20
20
- question: |
21
-
How do I monitor the health and performance of my cache?
21
+
How do I monitor cache health and performance?
22
22
answer: |
23
-
Microsoft Azure Cache for Redis instances can be monitored in the [Azure portal](https://portal.azure.com). You can view metrics, pin metrics charts to the Startboard, customize the date and time range of monitoring charts, add and remove metrics from the charts, and set alerts when certain conditions are met. For more information, see [Monitor Azure Cache for Redis](../redis/monitor-cache.md).
23
+
You can monitor Azure Cache for Redis cache metrics in the [Azure portal](https://portal.azure.com). You can pin metrics charts to your Dashboard, customize the date and time range of monitoring charts, add and remove metrics from the charts, and set alerts for certain conditions. For more information, see [Monitor Azure Cache for Redis](../redis/monitor-cache.md).
24
24
25
-
The Azure Cache for Redis **Resource menu** also contains several tools for monitoring and troubleshooting your caches.
25
+
The following items in the left navigation menu for your cache also help you monitor and troubleshoot your cache.
26
26
27
-
* **Diagnose and solve problems** provides information about common issues and strategies for resolving them.
28
-
* **Resource health** watches your resource and tells you if it's running as expected. For more information about the Azure Resource health service, see [Azure Resource health overview](/azure/service-health/resource-health-overview).
29
-
* **New support request** provides options to open a support request for your cache.
27
+
- **Diagnose and solve problems** provides information about common issues and strategies for resolving them.
28
+
- **Resource health** under **Help** tells you if your resource is running as expected. For more information, see [Resource health overview](/azure/service-health/resource-health-overview).
29
+
- **Support + Troubleshooting** under **Help** provides support options for your cache.
30
30
31
-
These tools enable you to monitor the health of your Azure Cache for Redis instances. The tools also help you manage your caching applications. For more information, see the "Support & troubleshooting settings" section of [How to configure Azure Cache for Redis](cache-configure.md).
31
+
These tools help you monitor the health of your Azure Redis cache instances, and also help you manage your cached applications.
32
32
33
33
- question: |
34
-
Why am I seeing timeouts?
34
+
What can cause timeouts?
35
35
answer: |
36
-
Timeouts happen in the client that you use to talk to Redis. When a command is sent to the Redis server, the command is queued up. The Redis server eventually picks up the command and executes it. However, the client can time out during this process. If it does, an exception is raised on the calling side. For more information on troubleshooting timeout issues, see [client-side troubleshooting](cache-troubleshoot-client.md) and [StackExchange.Redis timeout exceptions](cache-troubleshoot-timeouts.md#stackexchangeredis-timeout-exceptions).
36
+
Timeouts can happen during client communication with Redis. When a client sends a command to the Redis server, the command is queued. The Redis server eventually picks up the command and executes it. The client request can time out during this process, and an exception is raised on the calling side.
37
+
38
+
For more information on troubleshooting timeout issues, see [Troubleshoot Azure Cache for Redis latency and timeouts](cache-troubleshoot-timeouts.md) and [Investigating timeout exceptions in StackExchange.Redis for Azure Redis Cache](https://azure.microsoft.com/blog/investigating-timeout-exceptions-in-stackexchange-redis-for-azure-redis-cache/).
37
39
38
40
- question: |
39
41
Why was my client disconnected from the cache?
40
42
answer: |
41
-
The following are some common reason for a cache disconnect.
43
+
The following are some common reasons for a cache disconnect.
44
+
45
+
**Client-side**
46
+
* The client application was redeployed.
47
+
* The client application did a scaling operation. Cloud Services or Web Apps might cause a cache disconnect during autoscaling.
48
+
* The networking layer on the client side changed.
49
+
* Transient errors occurred in the client or in the network nodes between the client and the server.
50
+
* The bandwidth threshold limits were reached.
51
+
* CPU-bound operations took too long to complete.
42
52
43
-
* Client-side causes
44
-
* The client application was redeployed.
45
-
* The client application did a scaling operation.
46
-
* Cloud Services or Web Apps might cause a cache disconnect during autoscaling.
47
-
* The networking layer on the client side changed.
48
-
* Transient errors occurred in the client or in the network nodes between the client and the server.
49
-
* The bandwidth threshold limits were reached.
50
-
* CPU bound operations took too long to complete.
51
-
* Server-side causes
52
-
* On the standard cache offering, the Azure Cache for Redis service started a fail-over from the primary node to the replica node.
53
-
* Azure was patching the instance where the cache was deployed during a Redis server update or general VM maintenance.
53
+
**Server-side**
54
+
* A Standard-tier cache started a failover from the primary node to the replica node.
55
+
* Azure was patching the cache instance during a Redis server update or general virtual machine (VM) maintenance.
54
56
55
57
- question: |
56
-
Why am I seeing "Cache is busy processing a previous update request or is undergoing system maintenance. As such, it's currently unable to accept the update request. Try again later."
58
+
Why do I see a "Cache is busy processing a previous update request..." message?
57
59
answer: |
58
-
This message indicates that a management operation, like scaling or patching, is in progress on your cache. All other management operations are blocked until the ongoing operation is completed. Usually, the ongoing management operation should be completed in a few hours. If you see this error even after 12 hours, reach out to Azure support. During this time, you can expect your Azure Cache For Redis to be fully functional for client operations.
60
+
The error message **Cache is busy processing a previous update request or is undergoing system maintenance. As such, it's currently unable to accept the update request. Try again later.** indicates that a management operation, like scaling or patching, is in progress on your cache. All other management operations are blocked until the ongoing operation completes.
61
+
62
+
The ongoing management operation usually completes in a few hours. If you see this error for more than 12 hours, contact Azure support. During this time, your Azure Redis cache is fully functional for client operations.
59
63
- question: |
60
-
Why is my cache in "Failed" state?
64
+
Why is my cache in a Failed state?
61
65
answer: |
62
-
Azure Cache For Redis can end up in a *Failed* state if a management operation fails. Despite this state, you can expect your Azure Cache For Redis to be fully functional for client operations.
66
+
An Azure Redis cache can show a **Failed** state if a management operation fails. Despite this state, your Azure Redis cache is fully functional for client operations.
63
67
- question: |
64
-
Why is Zone information missing on my subscription?
68
+
Why is zone information missing from my subscription?
65
69
answer: |
66
-
Zone information may be missing on your subscription due to multiple reasons:
67
-
1. Subscription might not have been registered with the 'Microsoft.Cache' provider: Please run the following PowerShell command (after logging in into your subscription):
2. Your subscription might not have been enabled for zones: Please raise a support ticket with Azure support, so that they can enable your subscription for zones. Once this step is completed, please execute step 1 (even if you have already registered your subscription with the Microsoft.Cache provider).
70
+
Zone information might be missing from your subscription for the following reasons:
71
+
- Your subscription might not be registered with the `Microsoft.Cache` provider. Sign in to your subscription and run the following PowerShell command:
- Your subscription might not be enabled for zones. Contact Azure support so they can enable your subscription for zones. Then reregister the `Microsoft.Cache` provider even if you already registered it for your subscription.
70
74
71
75
additionalContent: |
72
76
73
-
## Next steps
74
-
For more information about monitoring and troubleshooting your Azure Cache for Redis instances, see [How to monitor Azure Cache for Redis](../redis/monitor-cache.md) and the various troubleshoot guides.
77
+
## Related content
75
78
76
-
Learn about other [Azure Cache for Redis FAQs](../redis/faq.yml).
79
+
- [How to monitor Azure Cache for Redis](../redis/monitor-cache.md)
0 commit comments