How to Monitor Redis to Maximize Performance
With a growing focus on predictive analytics and business intelligence, more organizations are seeking database solutions that fit the dynamic uses of their data. In-memory databases have quickly risen to the top as a favored solution, mostly because of the ability to access data quickly — which has been linked to a 3-4x improvement in performance.
Redis often rises to the top as a favorite for in-memory database solutions because of its extensive datatypes and built-in persistence, which enables you to use it as a database instead of a data cache. In this blog post we’ll cover how you can monitor Redis to drive better functionality across your workloads.
Because Redis is an in-memory database, memory is key to monitor and manage to get the best performance. To effectively monitor Redis, you need insight into key memory metrics:
- Max Memory: Track your memory usage through metrics that detail the max memory configuration setting. Without monitoring this, your database will start throwing an error when memory limits are reached. It’s key to ensure that Redis always has enough Memory configured.
- Used Memory: Quickly see the total number of bytes allocated by Redis, which can be helpful if you haven’t defined the max memory limit in the system. It can also complement your max memory metrics and provide a full view into your memory performance. Make sure to set alerts to receive a notification when your memory use is reaching the limit.
- Average Key Time to Live: For each key, you can see the associated time to live (TTL) property. If the TTL elapses, the server will automatically delete the key. This ensures that expired data doesn’t take up valuable space in your memory. The Key Time to Live metric will have a positive value if it is cleaning up your expired data properly.
Figure 1: Memory is critical to Redis performance. SelectStar covers more than 2.7x the memory metrics vs. other database and application performance monitoring platforms.
Understanding what may be causing errors and being able to drill down into the specific information can transform your troubleshooting process, and in turn, drive better performance across your Redis environment.
Among error metrics, there are several that we recommend monitoring:
- Rejected Connections: Within Redis, you can set the maximum number of connections that you want within the environment. The default sets itself at 10,000 connections. With the rejected connections metric, you can see how many connections are missed because of hitting your maxclient limit.
- Master Link Status: Track how long your link between your master-slave replication has been down. This is key to ensure that your data is always being backed up.
- Keyspace Misses: When your Redis environment performs a lookup for a key, a miss indicates that they do not exist. This number should be near zero for optimal performance, particularly as keyspace misses can indicate that the system is spending time querying keys that don’t even exist.
In addition to key metrics for memory and error, monitoring basic activity can give you insight into how the database performs in real-time. Basic activity metrics enable you to improve the foundational elements of your Redis database, which translates to better performance across memory and persistence operations.
Key basic activity metrics to monitor include:
- Active Connections & Total Connections: Ensure that your Redis system has enough connections to meet all requests, even at peak time
- Cache Hit Ratio: Understand how efficient your system is using cache; lower cache can result in latency problems
- Throughput: See how many database operations are performed by your server over a particular period of time
- Cluster Info: Gain insight into the performance of specific clusters and nodes, allowing you to track root cause
- Replication Metrics: Understand how well your master can reach its slave server, as unreachability can result in higher latency for your read load
Figure 3: The SelectStar Overview page gives you everything you need to know about the basic activity of your Redis database.
In monitoring these three key areas for your Redis environment, you can maximize your performance — ensuring you are getting the most from your in-memory database.
Monitoring for these specific metrics doesn’t have to be a drain on your team’s resources — leveraging a database performance monitoring tool like SelectStar can give you essential insight into how your Redis workloads are performing so you can ensure that you are getting the most out of your database investment.
Interested in learning how you can use Selectstar to monitor Redis? Get a free trial today.