Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Redis Performance Benchmarks: How to Optimize Without Coding

DZone's Guide to

Redis Performance Benchmarks: How to Optimize Without Coding

· Performance Zone ·
Free Resource

Sensu is an open source monitoring event pipeline. Try it today.

If you're interested in optimizing Redis for best performance with minimal effort, Matt Stancliff has done a lot of the figuring-out for you. In this recent post, Stancliff has assembled data from a variety of Redis benchmarks, covering every Redis release since 2.6 and 12 different compilations, each with two redis-benchmark test modes repeated three times apiece. In other words, he was thorough:

It took my computer (actual computer, real cores, no VM, no SMT/HT) about 5 days to run through the entire test. I repeated the entire test four times and assembled the best results from each run.

The goal of the tests, according to Stancliff, was fairly simple: to determine whether to optimization options could offer better performance in Redis without requiring any additional coding. Stancliff runs through a few of his techniques and the background needed to understand his tests - he explains the benefits of Link Time Optimization, for example - as well as the specs for the hardware he used to run the tests, all of which is fairly modest.

Then come the graphed results, which are the real meat of this experiment. They all look something like this:


Except there are quite a few of these graphs, selectable by the "Real" view, the "Max Change" view, and the "Sort From Low to High" view. 

So, for a look at the best optimization options for Redis, check out Stancliff's full post. If you don't feel like reading all the background, though, you can just skip straight to the graphs.

Sensu: workflow automation for monitoring. Learn more—download the whitepaper.

Topics:

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}