The NextGen Gateway uses Redis as a caching layer to improve data access performance for SDK applications. When multiple SDK applications are deployed on a gateway or when the gateway experiences sustained load, the default Redis resource configuration may be insufficient.
This document explains how to modify Redis CPU and memory limits to ensure stable gateway operation.
Problem
You may experience one or more of the following issues:
- Redis pod restarts or crashes intermittently
- Gateway performance degradation under load
- Alerts indicating memory pressure or OutOfMemory (OOM) conditions
- SDK applications failing to cache or retrieve data reliably
Resolution
Increase (or decrease, if required) the Redis resource limits by updating the Redis resource preset in the NextGen Gateway Helm chart.
This procedure includes:
- Identifying the installed NextGen Gateway Helm chart version
- Updating the Redis resource preset using Helm
- Verifying that the updated limits are applied
Procedure
Step 1: Identify the NextGen Gateway Helm Chart Version
Run the following command to list Helm releases in the gateway namespace and find the NextGen Gateway chart version:
helm list -n <gateway namespace> | grep nextgenExample output:
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
nextgen-gw default 1 2026-02-18 11:55:23 UTC deployed nextgen-gw-18.0.5 18.0.5In this example, the chart version is 18.0.5 (taken from the CHART column: nextgen-gw-18.0.5).
Note
Replace<gateway namespace> with your actual gateway namespace. In the examples, we use the default namespace.Step 2: Update Redis Resource Preset via Helm
You can change Redis resource limits by setting global.redisResourcesPreset during a Helm upgrade.
Command:
helm upgrade nextgen-gw \
oci://us-docker.pkg.dev/opsramp-registry/gateway-cluster-charts/nextgen-gw \
--version <chart_version> \
-n <gateway namespace> \
--set global.redisResourcesPreset=<preset> \
--reuse-valuesReplace:
<chart_version>with the version from Step 1 (e.g., 18.0.5)<preset>with one of the supported presets:nano,micro,small,medium,large,xlarge,2xlarge<gateway namespace>with your namespace
Choose the preset based on the number of SDK devices and overall gateway load. In the example below, we use medium.
Example:
helm upgrade nextgen-gw \
oci://us-docker.pkg.dev/opsramp-registry/gateway-cluster-charts/nextgen-gw \
--version 18.0.5 \
-n default \
--set global.redisResourcesPreset=medium \
--reuse-valuesStep 3: Redis Resource Presets (CPU & Memory)
The following table shows available values for global.redisResourcesPreset and their corresponding resource limits:
"nano" -> cpu: 150m memory: 192Mi ephemeral-storage: 2Gi
"micro" -> cpu: 375m memory: 384Mi ephemeral-storage: 2Gi
"small" -> cpu: 750m memory: 768Mi ephemeral-storage: 2Gi
"medium" -> cpu: 750m memory: 1536Mi ephemeral-storage: 2Gi
"large" -> cpu: 1.5 memory: 3072Mi ephemeral-storage: 2Gi
"xlarge" -> cpu: 3.0 memory: 6144Mi ephemeral-storage: 2Gi
"2xlarge" -> cpu: 6.0 memory: 12288Mi ephemeral-storage: 2Gi- Start with
mediumif you see OutOfMemory (OOM) issues with the defaultnanopreset and have multiple SDK applications. - Move to
largeor higher only if you continue to experience resource pressure.
Step 4: Verify the Updated Redis Limits
After running the Helm upgrade, verify that the Redis pod is using the new limits.
Command:
kubectl describe pod nextgen-gw-redis-master-0 -n <gateway namespace>Example:
kubectl describe pod nextgen-gw-redis-master-0 -n defaultSample output (relevant section):
Name: nextgen-gw-redis-master-0
Namespace: default
...
Containers:
redis:
...
Limits:
cpu: 750m
ephemeral-storage: 2Gi
memory: 1536Mi
Requests:
cpu: 500m
ephemeral-storage: 50Mi
memory: 1GiIn this example:
cpu= 750mmemory= 1536Miephemeral-storage= 2Gi
These values match the medium preset, confirming that the new limits have been successfully applied.