How to Monitor Redis Database Cluster Performance

Redis is an open source, key-value database built with an in-memory design that emphasizes speed. It has support for rich data types, atomic operations, and Lua scripting.

DigitalOcean Managed Databases include metrics visualizations so you can monitor performance and health of your database cluster. There are two kinds of metrics:

  • Cluster metrics monitor the performance of the nodes in a database cluster. Cluster metrics cover primary and standby nodes; metrics for each read-only node are displayed independently. This data can help guide capacity planning and optimization. You can also set up alerting on cluster metrics.

  • Database metrics monitor the performance of the database itself. This data can help assess the health of the database, pinpoint performance bottlenecks, and identify unusual use patterns that may indicate an application bug or security breach.

View Redis Metrics

To view Redis performance metrics, click the name of the database to go to its Overview page, then click the Insights tab.

The Insights tab of a Managed Databases cluster

In the Select Period drop-down menu, you can choose a time frame for the x-axis of the graphs, ranging from 1 hour to 30 days. Each line in the graphs will display about 300 data points.

By default, the summary to the right shows the most recent metrics values. If you hover over a different time in a graph, the summary displays the values from that time instead.

You may notice gaps in your metrics data from outages, platform maintenance, or a database failover or migration. You can check DigitalOcean’s status page for outages, review the cluster maintenance window, visit the cluster’s Settings > Logs (or Logs & Queries) page to look for failovers and migrations.

If you recently provisioned the cluster or added nodes, it may take a few minutes for the metrics data to finish processing before you see it on the Insights page.

Redis Metrics Details

Redis clusters have the following cluster metrics:

  • CPU Usage: percentage of CPU activity.

  • Load Average: load with 1-minute, 5-minute, and 15-minute averages.

  • Memory Usage: percentage of memory used.

  • Disk Usage: percentage of used storage capacity.

  • Connection Status: the number of successful and rejected client connections in relation to the connection limit.

  • Throughput: the rate of commands processed per second.

  • Key Evictions: the number of keys removed by Redis due to memory constraints.

  • Memory Fragmentation: the ratio of the memory allocated by the operating system to Redis to the memory used by Redis. 

  • Cache Hit Ratio: the ratio of keyspace hits to the number of keyspace hits and misses, which is a measure of cache usage efficiency.

  • Replication Status: the number of connected standby nodes.

All resource usage graphs have three lines for minimum, maximum, and average. If you have a one-node cluster, all three lines will be a single, superimposed line.

CPU Usage

The CPU usage plot shows, for all nodes in the cluster, the minimum, maximum, and average percentage of processing power being used across all cores.

Cluster CPU usage

If you experience a significant increase in CPU usage, check the throughput plot and query statistics to look for unexpected usage patterns or long-running queries.

Learn more about CPU usage in the Droplet metrics definitions.

Load Average

The load average plot displays 1-, 5-, and 15-minute load averages, averaged across all primary and standby nodes in the cluster. Load average measures the processes that are either being handled by the processor or are waiting for processor time.

Cluster load averages

The three time-based load average metrics are calculated as an exponentially weighted moving average over the past 1, 5, and 15 minutes. This metric does not adjust for multiple cores. Learn more about load averages in the Droplet metrics definitions.

Memory Usage

The memory usage plot presents the minimum, maximum, and average percentage of memory consumption across all nodes in the cluster. Because cached memory can be released on demand, it is not considered in use.

Cluster memory usage

Learn more about memory usage in the Droplet metrics definitions.

Disk Usage

The disk usage plot shows the minimum, maximum, and average percentage of disk consumed across all primary and standby nodes in the cluster. You should maintain disk usage below 90<.

Cluster disk usage

Learn more about disk I/O in the Droplet metrics definitions.

Connection Status

The connection status plot displays the number of connections being received and rejected per second.

This plot also displays the database’s connection limit as a dashed line.

Redis connection status plot

If the number of connected threads regularly approaches or exceeds the connection limit, or if you often see an unacceptable number of rejected connections, consider upgrading your database plan to increase your connection limit.


The throughput plot displays the overall rate of all Redis operations on the main server, expressed as a moving average of operations per second.

Redis operations throughput plot

You can compare this plot with node performance metrics to identify potential resource constraints. For more insights, look at the query statistics on the Logs & Queries page.

Key Evictions

By default, the Redis key eviction policy is set to noeviction. If you set the eviction policy (on the Settings page) to something other than noeviction, Redis evicts keys when it is constrained for memory. The key evictions plot displays the number of evicted keys.

Redis key evictions plot

This metric is useful when using Redis as a cache or assessing the impact of key evictions on overall key retrieval efficiency. Consider increasing the memory of your Redis cluster if the number of key evictions is consistently significantly greater than zero.

Learn more about key eviction policies and tuning in Using Redis as an LRU cache in the Redis documentation.

Memory Fragmentation

The memory fragmentation plot displays the efficiency of memory mapping, which is defined as the ratio of memory usage measured by the operating system to memory allocated by Redis.

Redis memory fragmentation plot

When adjacent memory blocks are not available, Redis requires additional memory overhead to allocate memory across the non-contiguous blocks, so this ratio is an indication of memory mapping efficiency:

  • Ratios over 1.0 indicate that memory fragmentation is very likely. Consider restarting the Redis server so the operating system can recover fragmented memory, especially with a ratio over 1.5.
  • Ratios under 1.0 indicate that Redis likely has insufficient memory available. Consider optimizing memory usage or upgrading to a plan with more memory.
If your peak memory usage is much higher than your current memory usage, the memory fragmentation ratio may be unreliable.

Learn more about memory allocation and fragmentation in the Redis documentation on memory optimization.

Cache Hit Ratio

The cache hit ratio plot displays the efficiency of key retrieval from the Redis cache, which is defined as the ratio of key hits to the total number of key hits and misses. Key misses occur when a key has been expired or evicted from the cache, or it never existed.

Redis cache hit ratio plot

For optimal responsiveness, keep your cache hit ratio at 0.8 or higher.

Replication Status

The replication status plot displays the count of connected standby nodes if replication is enabled.

Redis replication status plot