Know how does your Redis perform, when it can break, throughput, data transfer rate, and more with the following brilliant tools.
Redis (Remote Dictionary Service) popularity and usage have gone up in the last few years.

Not just for enterprise applications but small to medium too. Even, you can use Redis on WordPress for caching and performance is much better. If interested in learning Redis from scratch, then check out this online course.
As a developer or sysadmin for an enterprise application, you should be aware of performing benchmark to know your application performance and capacity. Redis benchmark is slightly different than the web server. The good news is, there are many free tools available so you can pick what works for you.
Ready to explore?
Redis-benchmark
Take advantage of Redis inbuilt benchmarking utility called redis-benchmark
. Its included in Redis installation and can be executed by just typing redis-benchmark
on UNIX. Its also available on Windows and executable is redis-benchmark.exe.
Let’s see the following examples.
Sending one million requests against 192.168.0.100
root@gf-lab:~# redis-benchmark -h 192.168.0.100 -p 6379 -n 1000000
====== PING_INLINE ======
1000000 requests completed in 30.62 seconds
50 parallel clients
3 bytes payload
keep alive: 1
61.85% <= 1 milliseconds
99.55% <= 2 milliseconds
99.93% <= 3 milliseconds
99.96% <= 4 milliseconds
99.98% <= 5 milliseconds
99.99% <= 6 milliseconds
99.99% <= 7 milliseconds
100.00% <= 8 milliseconds
100.00% <= 9 milliseconds
100.00% <= 9 milliseconds
32653.06 requests per second
1 million requests were completed in 30.62 seconds. Pay attention to the last line as well, ~32653 requests are served per second.
If you look at carefully the payload size is 3 bytes. That’s the default settings and to customize you can use -d
parameter. The following test is for 100k requests with a 1mb payload.
root@gf-lab:~# redis-benchmark -h 127.0.0.1 -p 6379 -n 100000 -d 1000000
====== PING_INLINE ======
100000 requests completed in 2.80 seconds
50 parallel clients
1000000 bytes payload
keep alive: 1
73.19% <= 1 milliseconds
99.95% <= 2 milliseconds
100.00% <= 2 milliseconds
35676.06 requests per second
Did you notice the parallel clients? Its 50 by default and to adjust, you can use -c
parameter. Below example is for 200 clients.
root@gf-lab:~# redis-benchmark -h 127.0.0.1 -p 6379 -n 100000 -d 1000000 -c 200
====== PING_INLINE ======
100000 requests completed in 3.77 seconds
200 parallel clients
1000000 bytes payload
keep alive: 1
0.00% <= 1 milliseconds
2.99% <= 2 milliseconds
18.95% <= 3 milliseconds
45.81% <= 4 milliseconds
69.65% <= 5 milliseconds
86.58% <= 6 milliseconds
95.79% <= 7 milliseconds
98.88% <= 8 milliseconds
99.78% <= 9 milliseconds
99.96% <= 10 milliseconds
100.00% <= 10 milliseconds
26532.24 requests per second
As you can see with 200 clients it took more time and processing also got slower. But, that’s expected and this helps to find the real-performance of application.
Not happy with Redis-benchmark tool? no worries, there are more as following.
Redis-cli
Just interested in the latency information?
Sure, you can use redis-cli
shipped with the Redis server. You can execute with --latency
parameter.
root@gf-lab:~# redis-cli --latency
min: 0, max: 1, avg: 0.16 (1056 samples
By default, latency sample is every second but you can change with -i
switch if needed.
Memtier Benchmark
Memtier benchmark by Redis Labs supports Redis and Memcache, both. It is an advanced benchmarking tool with various testing options such as following.
- Test password protected Redis
- Run the client in a cluster mode
- Supply number of clients, requests, threads, data size,
- Adjust the SET and GET ratio
and a lot more…
Here is a quick test report.
root@gf-lab:~# memtier_benchmark
[RUN #1] Preparing benchmark client...
[RUN #1] Launching threads now...
[RUN #1 100%, 133 secs] 3 threads: 1993223 ops, 15083 (avg: 14877) ops/sec, 639.97KB/sec (avg: 631.04KB/sec), 13.30 (avg: 13.44) msec latenc[RUN #1 100%, 134 secs] 0 threads: 2000000 ops, 15083 (avg: 14911) ops/sec, 639.97KB/sec (avg: 632.52KB/sec), 13.30 (avg: 13.41) msec latency
4 Threads
50 Connections per thread
10000 Requests per client
ALL STATS
=========================================================================
Type Ops/sec Hits/sec Misses/sec Latency KB/sec
-------------------------------------------------------------------------
Sets 1354.30 --- --- 13.40200 104.30
Gets 13528.13 0.00 13528.13 13.41000 526.98
Waits 0.00 --- --- 0.00000 ---
Totals 14882.43 0.00 13528.13 13.40900 631.28
Request Latency Distribution
Type <= msec Percent
------------------------------------------------------------------------
SET 0.055 0.00
SET 0.063 0.00
SET 0.110 0.00
SET 0.140 0.00
SET 0.160 0.00
SET 0.170 0.00
SET 0.180 0.00
SET 0.210 0.01
SET 0.230 0.01
SET 0.280 0.01
SET 0.300 0.01
SET 0.360 0.01
SET 0.440 0.01
SET 0.460 0.01
SET 0.480 0.01
SET 0.510 0.01
SET 0.570 0.01
SET 0.590 0.01
SET 0.610 0.01
SET 0.630 0.01
SET 0.640 0.02
SET 0.670 0.02
SET 0.680 0.02
SET 0.710 0.02
SET 0.730 0.02
SET 0.740 0.02
SET 0.750 0.02
SET 0.760 0.02
SET 0.770 0.02
SET 0.780 0.02
SET 0.790 0.02
SET 0.820 0.02
SET 0.840 0.02
SET 0.850 0.03
SET 0.870 0.03
SET 0.880 0.03
SET 0.900 0.03
SET 0.930 0.03
SET 0.940 0.03
SET 0.950 0.03
SET 0.960 0.03
SET 0.970 0.03
SET 1.000 0.03
SET 1.100 0.04
SET 1.200 0.05
SET 1.300 0.06
SET 1.400 0.07
SET 1.500 0.08
SET 1.600 0.08
SET 1.700 0.09
SET 1.800 0.10
SET 1.900 0.10
SET 2.000 0.11
SET 2.100 0.12
SET 2.200 0.12
SET 2.300 0.13
SET 2.400 0.14
SET 2.500 0.16
SET 2.600 0.18
SET 2.700 0.21
SET 2.800 0.24
SET 2.900 0.25
SET 3.000 0.26
SET 3.100 0.27
SET 3.200 0.28
SET 3.300 0.28
SET 3.400 0.29
SET 3.500 0.30
SET 3.600 0.32
SET 3.700 0.35
SET 3.800 0.37
SET 3.900 0.39
SET 4.000 0.42
SET 4.100 0.45
SET 4.200 0.48
SET 4.300 0.52
SET 4.400 0.55
SET 4.500 0.59
SET 4.600 0.63
SET 4.700 0.68
SET 4.800 0.73
SET 4.900 0.77
SET 5.000 0.82
SET 5.100 0.88
SET 5.200 0.93
SET 5.300 0.99
SET 5.400 1.06
SET 5.500 1.12
SET 5.600 1.18
SET 5.700 1.25
SET 5.800 1.33
SET 5.900 1.40
SET 6.000 1.47
SET 6.100 1.56
SET 6.200 1.64
SET 6.300 1.73
SET 6.400 1.81
SET 6.500 1.92
SET 6.600 2.00
SET 6.700 2.10
SET 6.800 2.21
SET 6.900 2.32
SET 7.000 2.44
SET 7.100 2.57
SET 7.200 2.69
SET 7.300 2.80
SET 7.400 2.95
SET 7.500 3.09
SET 7.600 3.24
SET 7.700 3.37
SET 7.800 3.52
SET 7.900 3.68
SET 8.000 3.84
SET 8.100 4.02
SET 8.200 4.17
SET 8.300 4.34
SET 8.400 4.49
SET 8.500 4.65
SET 8.600 4.84
SET 8.700 5.03
SET 8.800 5.20
SET 8.900 5.38
SET 9.000 5.59
SET 9.100 5.78
SET 9.200 6.01
SET 9.300 6.22
SET 9.400 6.45
SET 9.500 6.72
SET 9.600 7.05
SET 9.700 7.35
SET 9.800 7.66
SET 9.900 7.99
SET 10.000 10.29
SET 11.000 17.47
SET 12.000 39.07
SET 13.000 62.05
SET 14.000 76.14
SET 15.000 83.95
SET 16.000 88.77
SET 17.000 91.73
SET 18.000 93.54
SET 19.000 94.82
SET 20.000 95.90
SET 21.000 96.80
SET 22.000 97.62
SET 23.000 98.26
SET 24.000 98.74
SET 25.000 99.07
SET 26.000 99.31
SET 27.000 99.49
SET 28.000 99.65
SET 29.000 99.71
SET 30.000 99.76
SET 31.000 99.82
SET 32.000 99.86
SET 33.000 99.89
SET 34.000 99.91
SET 35.000 99.93
SET 36.000 99.96
SET 37.000 99.97
SET 38.000 99.98
SET 39.000 99.99
SET 40.000 99.99
SET 41.000 99.99
SET 42.000 100.00
SET 43.000 100.00
SET 45.000 100.00
SET 46.000 100.00
---
GET 0.053 0.00
GET 0.054 0.00
GET 0.055 0.00
GET 0.067 0.00
GET 0.068 0.00
GET 0.076 0.00
GET 0.082 0.00
GET 0.086 0.00
GET 0.100 0.00
GET 0.110 0.00
GET 0.120 0.00
GET 0.130 0.00
GET 0.140 0.00
GET 0.150 0.00
GET 0.160 0.00
GET 0.170 0.00
GET 0.190 0.00
GET 0.200 0.00
GET 0.210 0.00
GET 0.220 0.00
GET 0.230 0.00
GET 0.240 0.00
GET 0.250 0.00
GET 0.270 0.00
GET 0.280 0.00
GET 0.290 0.00
GET 0.300 0.00
GET 0.320 0.00
GET 0.330 0.00
GET 0.340 0.00
GET 0.350 0.01
GET 0.360 0.01
GET 0.380 0.01
GET 0.400 0.01
GET 0.430 0.01
GET 0.440 0.01
GET 0.460 0.01
GET 0.470 0.01
GET 0.480 0.01
GET 0.500 0.01
GET 0.510 0.01
GET 0.520 0.01
GET 0.530 0.01
GET 0.540 0.01
GET 0.550 0.01
GET 0.560 0.01
GET 0.580 0.01
GET 0.590 0.01
GET 0.600 0.01
GET 0.610 0.01
GET 0.620 0.01
GET 0.630 0.01
GET 0.640 0.01
GET 0.650 0.01
GET 0.660 0.01
GET 0.670 0.01
GET 0.680 0.01
GET 0.690 0.01
GET 0.700 0.01
GET 0.710 0.01
GET 0.720 0.01
GET 0.730 0.01
GET 0.740 0.01
GET 0.750 0.01
GET 0.760 0.01
GET 0.770 0.01
GET 0.780 0.01
GET 0.790 0.01
GET 0.800 0.01
GET 0.810 0.01
GET 0.820 0.01
GET 0.830 0.01
GET 0.840 0.01
GET 0.850 0.02
GET 0.860 0.02
GET 0.870 0.02
GET 0.880 0.02
GET 0.890 0.02
GET 0.900 0.02
GET 0.910 0.02
GET 0.920 0.02
GET 0.930 0.02
GET 0.940 0.02
GET 0.950 0.02
GET 0.960 0.02
GET 0.970 0.02
GET 0.980 0.02
GET 0.990 0.02
GET 1.000 0.02
GET 1.100 0.02
GET 1.200 0.03
GET 1.300 0.04
GET 1.400 0.04
GET 1.500 0.05
GET 1.600 0.05
GET 1.700 0.05
GET 1.800 0.06
GET 1.900 0.06
GET 2.000 0.07
GET 2.100 0.07
GET 2.200 0.08
GET 2.300 0.09
GET 2.400 0.09
GET 2.500 0.11
GET 2.600 0.13
GET 2.700 0.16
GET 2.800 0.18
GET 2.900 0.20
GET 3.000 0.20
GET 3.100 0.21
GET 3.200 0.21
GET 3.300 0.22
GET 3.400 0.24
GET 3.500 0.25
GET 3.600 0.26
GET 3.700 0.28
GET 3.800 0.31
GET 3.900 0.33
GET 4.000 0.36
GET 4.100 0.39
GET 4.200 0.43
GET 4.300 0.46
GET 4.400 0.49
GET 4.500 0.53
GET 4.600 0.57
GET 4.700 0.61
GET 4.800 0.65
GET 4.900 0.69
GET 5.000 0.73
GET 5.100 0.78
GET 5.200 0.83
GET 5.300 0.89
GET 5.400 0.95
GET 5.500 1.01
GET 5.600 1.08
GET 5.700 1.14
GET 5.800 1.21
GET 5.900 1.30
GET 6.000 1.37
GET 6.100 1.45
GET 6.200 1.54
GET 6.300 1.62
GET 6.400 1.71
GET 6.500 1.80
GET 6.600 1.90
GET 6.700 1.99
GET 6.800 2.10
GET 6.900 2.21
GET 7.000 2.33
GET 7.100 2.45
GET 7.200 2.56
GET 7.300 2.67
GET 7.400 2.80
GET 7.500 2.94
GET 7.600 3.08
GET 7.700 3.22
GET 7.800 3.36
GET 7.900 3.51
GET 8.000 3.66
GET 8.100 3.83
GET 8.200 3.99
GET 8.300 4.17
GET 8.400 4.32
GET 8.500 4.49
GET 8.600 4.67
GET 8.700 4.84
GET 8.800 5.00
GET 8.900 5.18
GET 9.000 5.37
GET 9.100 5.58
GET 9.200 5.78
GET 9.300 6.00
GET 9.400 6.25
GET 9.500 6.53
GET 9.600 6.82
GET 9.700 7.11
GET 9.800 7.41
GET 9.900 7.77
GET 10.000 10.13
GET 11.000 17.36
GET 12.000 39.32
GET 13.000 62.21
GET 14.000 76.31
GET 15.000 83.98
GET 16.000 88.82
GET 17.000 91.71
GET 18.000 93.50
GET 19.000 94.77
GET 20.000 95.84
GET 21.000 96.76
GET 22.000 97.58
GET 23.000 98.22
GET 24.000 98.73
GET 25.000 99.07
GET 26.000 99.32
GET 27.000 99.51
GET 28.000 99.66
GET 29.000 99.73
GET 30.000 99.78
GET 31.000 99.83
GET 32.000 99.87
GET 33.000 99.90
GET 34.000 99.92
GET 35.000 99.94
GET 36.000 99.96
GET 37.000 99.97
GET 38.000 99.98
GET 39.000 99.99
GET 40.000 99.99
GET 41.000 99.99
GET 42.000 100.00
GET 43.000 100.00
GET 44.000 100.00
GET 45.000 100.00
GET 46.000 100.00
GET 47.000 100.00
---
root@gf-lab:~#
I doubt if you can install this on Windows but for sure on UNIX distro like RHEL/CentOS, Ubuntu/Debian, MacOS, etc. It is free to give a try to experience.
RDBTools
Available as CLI and GUI, both. RDBTools is a cross-platform tool and aims to help in improving application performance. Talking about specific to benchmarking, it got memory analysis feature which allows to investigate memory usage, key analysis, identify memory leaks and recommend to lower the memory usage.

You can view real-time performance and perform all sorts of administrative tasks through the GUI.
Conclusion
I hope the above tools help you to perform Redis benchmarking so you know the application performance.