DEV Community

Cover image for Redis on Azure Performance Benchmark – ScaleGrid for Redis™ vs. Azure Cache
ScaleGrid for ScaleGrid

Posted on

Redis on Azure Performance Benchmark – ScaleGrid for Redis™ vs. Azure Cache

Redis is an advanced key-value store. In fact, it is the number one key value store and eighth most popular database in the world. It has high throughput and runs from memory, but also has the ability to persist data on disk. Redis is a great caching solution for highly demanding applications, and there are many solutions available to help you deploy and manage Redis in the cloud. In this post, we are going to compare ScaleGrid for Redis™ vs. Azure Cache for Redis performance and management features to help you pick the best managed solution for your Redis deployment.

ScaleGrid is a DBaaS provider that provides fully managed hosting not only for Redis™, but also for MongoDB® database, MySQL, and PostgreSQL. The Bring Your Own Cloud (BYOC) plan hosts the database server in your own AWS, Azure or GCP account.

Azure provides a hosted service for Redis called Azure Cache for Redis.

ScaleGrid for Redis™ vs. Azure Cache for Redis Performance Benchmark

In this benchmark, we measure the performance in throughput and latency. Throughput is measured in operations per second (ops/sec), and latency in microseconds. Check out our Benchmark Configurations section later on in this post for information on how this performance benchmark was configured.

Throughput Performance

ScaleGrid Redis Azure Cache Throughput Graph

Connections ScaleGrid for Redis™ Azure Cache C3 Std. 6GB Azure Cache P1 6GB Azure Cache P2 13GB ScaleGrid Improvement
100 134,667 16,461 19,881 38,459 439%
200 147,551 16,246 25,361 35,459 474%
300 152,341 15,872 25,346 35,045 499%
400 152,624 15,235 19,043 37,301 539%
As we can see in the above graph, ScaleGrid for Redis™ achieves approximately 5x higher throughput compared to Azure Cache for Redis when benchmarked with 100-400 connections. For example, while the Azure Cache for Redis P2 Premium 13GB plan manages around 36,000 ops/sec during all connection scenarios, ScaleGrid for Redis™ has over 130 000 ops/sec for all the scenarios.

Latency Performance

ScaleGrid Redis Azure Cache Latency Performance Graph

Connections ScaleGrid for Redis™ Azure Cache C3 Std. 6GB Azure Cache P1 6GB Azure Cache P2 13GB ScaleGrid Improvement
100 744 6,809 5,896 2,497 -85%
200 1,353 10,950 8,447 5,565 -84%
300 2,044 17,807 13,045 8,539 -84%
400 2,609 25,126 16,999 10,716 -85%
While Azure Cache for Redis latency increases rapidly as the number of connections grow, ScaleGrid for Redis™ steadily achieves low latency across all connection counts. On average, ScaleGrid for Redis™ has 85% lower latency than Azure Cache for Redis. This is especially noticeable when comparing Azure Cache for Redis (C3 Standard 6GB) to ScaleGrid for Redis™, where the difference is up to -99%.

Benchmark Summary

As you can tell from the above graphs, ScaleGrid for Redis™ provides significantly higher throughput and lower latency. On average we can see approximately 5x the throughput and 85% lower latency compared to equivalent sizes on Azure Cache. The ScaleGrid for Redis™ BYOC plan starts at $9 per month (720h + VM costs) and $18 per month (720h) for the Dedicated hosting plan. To learn more about how different Redis providers compare to ScaleGrid for Redis™, check out our Redis service providers comparison chart where you can learn more about ScaleGrid for Redis™.

Benchmark Configuration

Let’s take a look at the configurations we used in the performance benchmark:

Configuration Details
Benchmark Tool Memtier Benchmark
Azure Region for Redis East US
Azure Region for Application East US
Deployment Type Master-Slave

We have benchmarked Redis™ performance for the following configurations.

Provider Plan Size RAM Monthly Cost
ScaleGrid for Redis™ Dedicated Hosting Large on Azure 7GB memory $607
Azure Cache for Redis C3 Standard - Moderate network bandwidth 6GB memory $328.50
Azure Cache for Redis P1 Premium - Moderate network bandwidth 6GB memory $404.42
Azure Cache for Redis P2 Premium - High network bandwidth 13GB memory $810.30

For each Redis™ server, we have benchmarked with 100, 200, 300 and 400 connections. Each connection sends 10,000 requests with 32 bytes object data size per request. We use non-SSL connections to connect Redis™ servers.

Not only can ScaleGrid provide higher throughput and lower latency, it also brings many other features such as full admin access, scheduled backups and SSH access. You can find more information about ScaleGrid for Redis™ on our website.

What to consider when choosing a Redis™ service?

So, with so many fully managed Redis™ service provider options, what are the most important features to look out for? Here is a checklist to use when choosing the right Redis hosting service for you:

  1. Dedicated Server
  2. Scalability
  3. Data Persistence
  4. Backups & Restores
  5. High Throughput & Low Latency

Dedicated Server

Redis is a single-threaded server where data is stored in memory; therefore, having Redis running on a dedicated server is very important in a production environment. You don’t want your Redis server battling for CPU and memory resources with other services.

Scalability

Businesses grow, and the same for your data. It’s very important that your Redis service is able to perform a dynamic, in-place scale up of your Redis server with little or no downtime.

Data Persistence

Depending on your business needs, you might need to persist your Redis data on physical storage. Redis provides two persistence options: RDB and AOF.

RDB is a point-in-time snapshots of your dataset at specified intervals to a Redis Database Backup file. The file can be transferred to other Redis instances.

AOF stands for Append Only File. Redis logs every write operation which has been modified in your dataset. It is a very reliable way to persist your data.

Both RDB and AOF can be enabled at the same time and they have different trade offs. For more details about their pros and cons, you can read more on Redis Persistence page on redis.io.

Your Redis service should provide options not only to persist the data, but also to deploy Redis in master/replica or cluster mode to minimize the chance of data loss.

Backups & Restores

Any Database as a Service (DBaaS) for Redis should also provide scheduled and on-demand backups so you can ensure you always have a regular schedule of backups available, and can perform them as needed before an application event. It should also provide “restore backup” options to existing databases or to a new database instance.

High Throughput & Low Latency

Redis can provide fast caching for applications. However, sometimes network latency can bottleneck accessing data from Redis. The key is to avoid physical distancing between your application and Redis. So, you want to make sure both the application and Redis are hosted on the same cloud provider region and on the same virtual network. Your Redis service provider should have the option to deploy your Redis server on the virtual network of your choice.

Top comments (0)