Documentation - Redise Cloud

A guide to Redise Cloud operation and administration

open all | close all

Monitoring Redise Cloud Performance

Redise Cloud (RC) provides a straightforward dashboard that gives you good visibility into each Redis database. This can be reached by selecting the database you would like to view metrics for, then make sure you are on the Metrics tab. As you scroll down, you can see the various metrics available to you, but also the scroll bar at the top to change the detail level of the view over time. You can see the metrics over the last minute, 5 minutes, hour, day, week, month, and year.

For a quick tour of what you get, watch this video.

Definition of Each Metric

For each database, there are 14 different metrics you can see on the page:

 Metric  Description
 Ops/sec  The number of overall operations per sec for all Redis commands
 Reads/sec  The number of read operations per second
 Writes/sec  The number of write operations per second
 Other cmds/sec  The number of other Redis commands per second
 Latency (in milliseconds)  Latency per write operation
 Reads Latency (in milliseconds)  The average, min, max and last values are also shown
 Writes Latency (in milliseconds)  Latency per write operation
 Other Latency (in milliseconds)  Latency per other commands
 Used Memory  The amount of memory used by the database
 Total Keys  The total number of keys in the database
 Connections  The total number of connections to the end point
 Evicted Objects/sec  Number of objects evicted from the database per second
 Expired Objects/sec  Number of expired objects per sec. An expired object is an object with expired TTL that was deleted from the database.
 Hit Ratio (percentage)  The number of operations on existing keys divided by total database operations.

If you want to get more information, we recommend Redsmin and/or New Relic. Also, you might want to read this post.

Alerting on Metrics

There are five metrics you can and should alert on for each database.

Alert Settings

These are located on the Configuration tab for each database. If you want to edit the values or enable/disable an alert, you must first click on the pencil icon to edit the configuration. While there are default values, each database’s alerting needs are usually different, so there are no best practices per se around what to set these to.

Note: The “Total size of datasets under this plan” metric is at the subscription plan level even though they are shown for convenience at the database level. If you set this alert in one database you will see the value has changed in the other database configurations too. For “Number of connections reached”, each database can have its own percentage it has to reach. If you have multiple databases on the same subscription, you need to set this percentage appropriately on your own. For example, if you have two databases, alerting on when each database gets to 80% can surpass your number of subscriptions.

Changing Alert Email Recipients

Any member of the account team can receive alert emails.

To change the alert email recipients please do the following:

  1. Click the ‘Team’ button in the top right of the main UI page to access the Team
  2. Click ‘Edit’.
  3. Check the ‘Receive Email Alerts’ checkbox of the users who should receive alerts.
  4. Save your changes by clicking ‘Save’.

NOTE: PaaS users, such as Heroku users, don’t have the option to create a team. When creating a Team of users, the users have an option to define which users receive email alerts and which user receives billing emails regardless of what email is set in Account -> Account Info. For PaaS users, on the other hand, the email alerts and billings are sent to the email that is set in Account -> Account Info.

 

Why is my hit rate so low?

A low hit rate indicates a high ratio of number of evictions relative to the number of keys. To resolve this issue, you need to upgrade your current subscription in order to reduce eviction.

The following example shows how to calculate the ratio of number of evictions to the number of evicted objects:

Go to Databases > Dashboard, and look at your dashboard in the ‘Day’ resolution. Suppose the stats for your Redis DB are:

Total Keys: 300,121
Hit Ratio: 71.53%
Evicted Objects/Sec: 9

A rate of 9 evictions per second means that you have 9*3600*24=777,600 evictions in 24 hours, which is 2.5 times your current number of keys.

Can you enable us to output our Redis stats and logs out to our own tools?

We do not expose the Redis logs, but you can get the Redis stats by periodically executing the INFO command and/or by using the New Relic plugin.

I am hitting the connection limit and receiving alerts, what should I do?

To avoid reaching the connection limit, please consider the following options:

  1. Upgrade to a plan with more connections.
  2. Use a connection pool. Without connection pooling, each request opens a new connection. This exposes you to many possible momentary problems that could prevent the opening of the connection. In addition, if you make many requests, you will be frequently opening and closing connections, operations which might fail from time to time. Using connection pooling, you will be opening a few connections that will serve all requests, and will not close after each request. This eliminates the problems above and will also give you better performance because no time will be wasted on opening and closing connections.