Install Redis, KeyDB on A1 ARM AWS Linux instance and Performance comparison of A1,T3,C5 instances

Yegor Shytikov
31 min readMay 26, 2020

--

he suggested way of installing Redis is compiling it from sources as Redis has no dependencies other than a working GCC compiler and libc. Installing it using the package manager of your Linux distribution is somewhat discouraged as usually the available version is not the latest.

Installing GCC:

sudo yum install gcc -y

You can either download the latest Redis tarball from the redis.io web site, or you can alternatively use this special URL that always points to the latest stable Redis version, that is, http://download.redis.io/redis-stable.tar.gz.

In order to compile Redis follow these simple steps:

wget http://download.redis.io/redis-stable.tar.gz &&
tar xvzf redis-stable.tar.gz &&
cd redis-stable &&
make

After downloading the Redis source and attempting to make it looks like I’ve got some dependencies missing:

$ makecd src && make allmake[1]: Entering directory '/home/kev/redis/redis-4.0.11/src'CC Makefile.depCC adlist.oIn file included from adlist.c:34:0:zmalloc.h:50:10: fatal error: jemalloc/jemalloc.h: No such file or directory#include <jemalloc/jemalloc.h>^~~~~~~~~~~~~~~~~~~~~compilation terminated.

This happened only with A1 instances. T3 instance works well.

found an identical post about this issue, of how to fix this without building the dependencies. To fix:

cd depsmake hiredis jemalloc linenoise lua geohash-intcd ..makesudo make install

That resulted in a clean install, and I’m ready to start redis-server!

At this point you can test if your build has worked correctly by typing make test, but this is an optional step. After compilation the src directory inside the Redis distribution is populated with the different executables that are part of Redis:

  • redis-server is the Redis Server itself.
  • redis-sentinel is the Redis Sentinel executable (monitoring and failover).
  • redis-cli is the command-line interface utility to talk with Redis.
  • redis-benchmark is used to check Redis performances.
  • redis-check-aof and redis-check-rdb (redis-check-dump in 3.0 and below) are useful in the rare event of corrupted data files.

It is a good idea to copy both the Redis server and the command line interface into the proper places, either manually using the following commands:

  • sudo cp src/redis-server /usr/local/bin/
  • sudo cp src/redis-cli /usr/local/bin/

Or just using sudo make install.

In the following documentation we assume that /usr/local/bin is in your PATH environment variable so that you can execute both the binaries without specifying the full path.

Starting Redis

The simplest way to start the Redis server is just executing the redis-server binary without any argument.

$ redis-server --daemonize yes

Running A1 benchmark:


[redis-stable]$ src/redis-benchmark -c 100
====== PING_INLINE ======
100000 requests completed in 1.68 seconds
100 parallel clients
3 bytes payload
keep alive: 1
94.25% <= 1 milliseconds
99.90% <= 2 milliseconds
100.00% <= 3 milliseconds
100.00% <= 3 milliseconds
59382.42 requests per second
====== PING_BULK ======
100000 requests completed in 1.74 seconds
100 parallel clients
3 bytes payload
keep alive: 1
92.84% <= 1 milliseconds
99.95% <= 2 milliseconds
100.00% <= 3 milliseconds
100.00% <= 3 milliseconds
57372.34 requests per second
====== SET ======
100000 requests completed in 1.67 seconds
100 parallel clients
3 bytes payload
keep alive: 1
94.71% <= 1 milliseconds
99.89% <= 2 milliseconds
99.96% <= 3 milliseconds
99.99% <= 4 milliseconds
100.00% <= 4 milliseconds
59737.16 requests per second
====== GET ======
100000 requests completed in 1.69 seconds
100 parallel clients
3 bytes payload
keep alive: 1
94.96% <= 1 milliseconds
100.00% <= 1 milliseconds
59066.75 requests per second
====== INCR ======
100000 requests completed in 1.67 seconds
100 parallel clients
3 bytes payload
keep alive: 1
94.27% <= 1 milliseconds
100.00% <= 2 milliseconds
100.00% <= 2 milliseconds
59737.16 requests per second
^CUSH: 47125.00
[ec2-user@ip-172–31–14–116 redis-stable]$ src/redis-benchmark -c 100
====== PING_INLINE ======
100000 requests completed in 1.70 seconds
100 parallel clients
3 bytes payload
keep alive: 1
94.21% <= 1 milliseconds
100.00% <= 1 milliseconds
58997.05 requests per second
====== PING_BULK ======
100000 requests completed in 1.76 seconds
100 parallel clients
3 bytes payload
keep alive: 1
88.83% <= 1 milliseconds
100.00% <= 1 milliseconds
56882.82 requests per second
====== SET ======
100000 requests completed in 1.70 seconds
100 parallel clients
3 bytes payload
keep alive: 1
94.04% <= 1 milliseconds
100.00% <= 1 milliseconds
58927.52 requests per second
====== GET ======
100000 requests completed in 1.69 seconds
100 parallel clients
3 bytes payload
keep alive: 1
94.91% <= 1 milliseconds
100.00% <= 1 milliseconds
59136.61 requests per second
====== INCR ======
100000 requests completed in 1.67 seconds
100 parallel clients
3 bytes payload
keep alive: 1
95.03% <= 1 milliseconds
100.00% <= 1 milliseconds
59737.16 requests per second
====== LPUSH ======
100000 requests completed in 1.64 seconds
100 parallel clients
3 bytes payload
keep alive: 1
94.94% <= 1 milliseconds
100.00% <= 2 milliseconds
60901.34 requests per second
====== RPUSH ======
100000 requests completed in 1.65 seconds
100 parallel clients
3 bytes payload
keep alive: 1
94.84% <= 1 milliseconds
100.00% <= 1 milliseconds
60422.96 requests per second
====== LPOP ======
100000 requests completed in 1.66 seconds
100 parallel clients
3 bytes payload
keep alive: 1
95.16% <= 1 milliseconds
100.00% <= 2 milliseconds
100.00% <= 2 milliseconds
60132.29 requests per second
====== RPOP ======
100000 requests completed in 1.67 seconds
100 parallel clients
3 bytes payload
keep alive: 1
94.72% <= 1 milliseconds
99.99% <= 2 milliseconds
100.00% <= 2 milliseconds
59916.12 requests per second
====== SADD ======
100000 requests completed in 1.68 seconds
100 parallel clients
3 bytes payload
keep alive: 1
94.85% <= 1 milliseconds
100.00% <= 1 milliseconds
59559.26 requests per second
====== HSET ======
100000 requests completed in 1.64 seconds
100 parallel clients
3 bytes payload
keep alive: 1
95.28% <= 1 milliseconds
100.00% <= 1 milliseconds
60975.61 requests per second
====== SPOP ======
100000 requests completed in 1.70 seconds
100 parallel clients
3 bytes payload
keep alive: 1
94.41% <= 1 milliseconds
100.00% <= 1 milliseconds
58997.05 requests per second
====== LPUSH (needed to benchmark LRANGE) ======
100000 requests completed in 1.67 seconds
100 parallel clients
3 bytes payload
keep alive: 1
91.73% <= 1 milliseconds
100.00% <= 1 milliseconds
59880.24 requests per second
====== LRANGE_100 (first 100 elements) ======
100000 requests completed in 4.06 seconds
100 parallel clients
3 bytes payload
keep alive: 1
0.00% <= 1 milliseconds
38.43% <= 2 milliseconds
99.98% <= 3 milliseconds
100.00% <= 3 milliseconds
24624.48 requests per second
====== LRANGE_300 (first 300 elements) ======
100000 requests completed in 9.20 seconds
100 parallel clients
3 bytes payload
keep alive: 1
0.00% <= 1 milliseconds
0.01% <= 2 milliseconds
0.03% <= 3 milliseconds
4.66% <= 4 milliseconds
88.17% <= 5 milliseconds
99.93% <= 6 milliseconds
99.98% <= 7 milliseconds
99.99% <= 8 milliseconds
99.99% <= 9 milliseconds
100.00% <= 9 milliseconds
10874.29 requests per second
====== LRANGE_500 (first 450 elements) ======
100000 requests completed in 12.29 seconds
100 parallel clients
3 bytes payload
keep alive: 1
0.00% <= 1 milliseconds
0.01% <= 2 milliseconds
0.02% <= 3 milliseconds
0.04% <= 4 milliseconds
1.58% <= 5 milliseconds
40.63% <= 6 milliseconds
97.29% <= 7 milliseconds
99.92% <= 8 milliseconds
99.95% <= 9 milliseconds
99.97% <= 10 milliseconds
99.98% <= 11 milliseconds
100.00% <= 12 milliseconds
100.00% <= 13 milliseconds
8134.05 requests per second
====== LRANGE_600 (first 600 elements) ======
100000 requests completed in 15.31 seconds
100 parallel clients
3 bytes payload
keep alive: 1
0.00% <= 1 milliseconds
0.01% <= 2 milliseconds
0.01% <= 3 milliseconds
0.02% <= 4 milliseconds
0.05% <= 5 milliseconds
0.45% <= 6 milliseconds
12.67% <= 7 milliseconds
76.47% <= 8 milliseconds
99.35% <= 9 milliseconds
99.90% <= 10 milliseconds
99.94% <= 11 milliseconds
99.96% <= 12 milliseconds
99.98% <= 13 milliseconds
99.99% <= 14 milliseconds
99.99% <= 15 milliseconds
100.00% <= 16 milliseconds
100.00% <= 16 milliseconds
6531.68 requests per second
====== MSET (10 keys) ======
100000 requests completed in 1.61 seconds
100 parallel clients
3 bytes payload
keep alive: 1
26.54% <= 1 milliseconds
98.71% <= 2 milliseconds
100.00% <= 2 milliseconds
61957.87 requests per second

T3.medium instance Redis Performance

[ec2-user@ip-172–31–36–123 redis-stable]$ src/redis-benchmark -c 100
====== PING_INLINE ======
100000 requests completed in 1.47 seconds
100 parallel clients
3 bytes payload
keep alive: 1
96.85% <= 1 milliseconds
98.30% <= 2 milliseconds
98.87% <= 3 milliseconds
99.10% <= 4 milliseconds
99.49% <= 5 milliseconds
99.57% <= 6 milliseconds
99.68% <= 7 milliseconds
99.73% <= 8 milliseconds
99.79% <= 9 milliseconds
99.84% <= 10 milliseconds
99.88% <= 11 milliseconds
99.90% <= 12 milliseconds
99.92% <= 13 milliseconds
99.96% <= 16 milliseconds
100.00% <= 16 milliseconds
67934.78 requests per second
====== PING_BULK ======
100000 requests completed in 1.26 seconds
100 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 1 milliseconds
100.00% <= 1 milliseconds
79176.56 requests per second
====== SET ======
100000 requests completed in 1.25 seconds
100 parallel clients
3 bytes payload
keep alive: 1
99.95% <= 1 milliseconds
100.00% <= 1 milliseconds
79936.05 requests per second
====== GET ======
100000 requests completed in 1.27 seconds
100 parallel clients
3 bytes payload
keep alive: 1
99.94% <= 1 milliseconds
100.00% <= 1 milliseconds
78926.60 requests per second
====== INCR ======
100000 requests completed in 1.26 seconds
100 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
79617.83 requests per second
====== LPUSH ======
100000 requests completed in 1.26 seconds
100 parallel clients
3 bytes payload
keep alive: 1
99.99% <= 1 milliseconds
100.00% <= 1 milliseconds
79176.56 requests per second
====== RPUSH ======
100000 requests completed in 1.26 seconds
100 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
79428.12 requests per second
====== LPOP ======
100000 requests completed in 1.27 seconds
100 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
78926.60 requests per second
====== RPOP ======
100000 requests completed in 1.26 seconds
100 parallel clients
3 bytes payload
keep alive: 1
99.96% <= 1 milliseconds
100.00% <= 1 milliseconds
79428.12 requests per second
====== SADD ======
100000 requests completed in 1.25 seconds
100 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
80064.05 requests per second
====== HSET ======
100000 requests completed in 1.26 seconds
100 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
79491.26 requests per second
====== SPOP ======
100000 requests completed in 1.26 seconds
100 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
79176.56 requests per second
====== LPUSH (needed to benchmark LRANGE) ======
100000 requests completed in 1.24 seconds
100 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 1 milliseconds
100.00% <= 1 milliseconds
80450.52 requests per second
====== LRANGE_100 (first 100 elements) ======
100000 requests completed in 2.59 seconds
100 parallel clients
3 bytes payload
keep alive: 1
0.01% <= 1 milliseconds
99.96% <= 2 milliseconds
100.00% <= 2 milliseconds
38639.88 requests per second
====== LRANGE_300 (first 300 elements) ======
100000 requests completed in 6.41 seconds
100 parallel clients
3 bytes payload
keep alive: 1
0.00% <= 1 milliseconds
0.02% <= 2 milliseconds
3.84% <= 3 milliseconds
99.93% <= 4 milliseconds
99.97% <= 5 milliseconds
99.99% <= 6 milliseconds
100.00% <= 6 milliseconds
15595.76 requests per second
====== LRANGE_500 (first 450 elements) ======
100000 requests completed in 8.52 seconds
100 parallel clients
3 bytes payload
keep alive: 1
0.00% <= 1 milliseconds
0.01% <= 2 milliseconds
0.03% <= 3 milliseconds
4.57% <= 4 milliseconds
99.90% <= 5 milliseconds
99.95% <= 6 milliseconds
99.96% <= 7 milliseconds
99.98% <= 8 milliseconds
100.00% <= 9 milliseconds
100.00% <= 9 milliseconds
11734.33 requests per second
====== LRANGE_600 (first 600 elements) ======
100000 requests completed in 10.82 seconds
100 parallel clients
3 bytes payload
keep alive: 1
0.00% <= 1 milliseconds
0.01% <= 2 milliseconds
0.01% <= 3 milliseconds
0.03% <= 4 milliseconds
2.63% <= 5 milliseconds
99.82% <= 6 milliseconds
99.93% <= 7 milliseconds
99.96% <= 8 milliseconds
99.97% <= 9 milliseconds
99.98% <= 10 milliseconds
99.99% <= 11 milliseconds
100.00% <= 11 milliseconds
9244.71 requests per second
====== MSET (10 keys) ======
100000 requests completed in 1.16 seconds
100 parallel clients
3 bytes payload
keep alive: 1
94.32% <= 1 milliseconds
100.00% <= 1 milliseconds
85910.65 requests per second

C5.large performance Redis

[redis-stable]$ src/redis-benchmark -c 100
====== PING_INLINE ======
100000 requests completed in 1.02 seconds
100 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 1 milliseconds
100.00% <= 1 milliseconds
97943.19 requests per second
====== PING_BULK ======
100000 requests completed in 1.03 seconds
100 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
96805.42 requests per second
====== SET ======
100000 requests completed in 1.02 seconds
100 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
98328.42 requests per second
====== GET ======
100000 requests completed in 1.02 seconds
100 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 1 milliseconds
100.00% <= 1 milliseconds
97656.24 requests per second
====== INCR ======
100000 requests completed in 1.02 seconds
100 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
98425.20 requests per second
====== LPUSH ======
100000 requests completed in 1.02 seconds
100 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 1 milliseconds
98328.42 requests per second
====== RPUSH ======
100000 requests completed in 1.02 seconds
100 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
98328.42 requests per second
====== LPOP ======
100000 requests completed in 1.02 seconds
100 parallel clients
3 bytes payload
keep alive: 1
99.98% <= 1 milliseconds
100.00% <= 1 milliseconds
97656.24 requests per second
====== RPOP ======
100000 requests completed in 1.02 seconds
100 parallel clients
3 bytes payload
keep alive: 1
99.95% <= 1 milliseconds
100.00% <= 1 milliseconds
98328.42 requests per second
====== SADD ======
100000 requests completed in 1.01 seconds
100 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
98522.17 requests per second
====== HSET ======
100000 requests completed in 1.01 seconds
100 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
98911.96 requests per second
====== SPOP ======
100000 requests completed in 1.02 seconds
100 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
98039.22 requests per second
====== LPUSH (needed to benchmark LRANGE) ======
100000 requests completed in 1.01 seconds
100 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
98619.32 requests per second
====== LRANGE_100 (first 100 elements) ======
100000 requests completed in 2.23 seconds
100 parallel clients
3 bytes payload
keep alive: 1
0.17% <= 1 milliseconds
99.97% <= 2 milliseconds
100.00% <= 2 milliseconds
44883.30 requests per second
====== LRANGE_300 (first 300 elements) ======
100000 requests completed in 5.63 seconds
100 parallel clients
3 bytes payload
keep alive: 1
0.01% <= 1 milliseconds
0.03% <= 2 milliseconds
99.53% <= 3 milliseconds
99.96% <= 4 milliseconds
99.98% <= 5 milliseconds
100.00% <= 5 milliseconds
17771.46 requests per second
====== LRANGE_500 (first 450 elements) ======
100000 requests completed in 7.49 seconds
100 parallel clients
3 bytes payload
keep alive: 1
0.01% <= 1 milliseconds
0.01% <= 2 milliseconds
0.07% <= 3 milliseconds
99.74% <= 4 milliseconds
99.93% <= 5 milliseconds
99.97% <= 6 milliseconds
99.99% <= 7 milliseconds
100.00% <= 7 milliseconds
13352.92 requests per second
====== LRANGE_600 (first 600 elements) ======
100000 requests completed in 9.36 seconds
100 parallel clients
3 bytes payload
keep alive: 1
0.00% <= 1 milliseconds
0.02% <= 2 milliseconds
0.04% <= 3 milliseconds
0.15% <= 4 milliseconds
99.51% <= 5 milliseconds
99.81% <= 6 milliseconds
99.90% <= 7 milliseconds
99.95% <= 8 milliseconds
99.98% <= 9 milliseconds
100.00% <= 10 milliseconds
10681.48 requests per second
====== MSET (10 keys) ======
100000 requests completed in 1.01 seconds
100 parallel clients
3 bytes payload
keep alive: 1
78.70% <= 1 milliseconds
100.00% <= 1 milliseconds
99009.90 requests per second

C5 REdis concurrency 1000:

redis-stable]$ src/redis-benchmark -c 1000
====== PING_INLINE ======
100000 requests completed in 1.14 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
0.00% <= 4 milliseconds
0.08% <= 5 milliseconds
89.96% <= 6 milliseconds
99.19% <= 7 milliseconds
99.48% <= 8 milliseconds
99.83% <= 9 milliseconds
99.91% <= 10 milliseconds
99.97% <= 11 milliseconds
100.00% <= 11 milliseconds
87719.30 requests per second
====== PING_BULK ======
100000 requests completed in 1.12 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
0.00% <= 1 milliseconds
0.03% <= 2 milliseconds
0.10% <= 3 milliseconds
0.19% <= 4 milliseconds
2.95% <= 5 milliseconds
95.02% <= 6 milliseconds
98.50% <= 7 milliseconds
99.14% <= 8 milliseconds
99.77% <= 9 milliseconds
99.93% <= 10 milliseconds
100.00% <= 11 milliseconds
100.00% <= 11 milliseconds
89445.44 requests per second
====== SET ======
100000 requests completed in 1.12 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
0.00% <= 5 milliseconds
96.32% <= 6 milliseconds
99.18% <= 7 milliseconds
99.46% <= 8 milliseconds
99.88% <= 9 milliseconds
99.95% <= 10 milliseconds
99.99% <= 11 milliseconds
100.00% <= 11 milliseconds
89047.20 requests per second
====== GET ======
100000 requests completed in 1.14 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
0.00% <= 4 milliseconds
0.31% <= 5 milliseconds
91.09% <= 6 milliseconds
97.83% <= 7 milliseconds
98.76% <= 8 milliseconds
99.94% <= 9 milliseconds
100.00% <= 9 milliseconds
87873.46 requests per second
====== INCR ======
100000 requests completed in 1.20 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
0.00% <= 4 milliseconds
0.30% <= 5 milliseconds
51.76% <= 6 milliseconds
98.35% <= 7 milliseconds
99.47% <= 8 milliseconds
99.87% <= 9 milliseconds
99.94% <= 10 milliseconds
99.99% <= 11 milliseconds
100.00% <= 11 milliseconds
83056.48 requests per second
====== LPUSH ======
100000 requests completed in 1.11 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
0.00% <= 4 milliseconds
0.13% <= 5 milliseconds
98.24% <= 6 milliseconds
99.25% <= 7 milliseconds
99.57% <= 8 milliseconds
99.93% <= 9 milliseconds
100.00% <= 9 milliseconds
90497.73 requests per second
====== RPUSH ======
100000 requests completed in 1.12 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
0.00% <= 4 milliseconds
0.20% <= 5 milliseconds
96.28% <= 6 milliseconds
99.19% <= 7 milliseconds
99.49% <= 8 milliseconds
99.92% <= 9 milliseconds
99.98% <= 10 milliseconds
100.00% <= 10 milliseconds
89126.56 requests per second
====== LPOP ======
100000 requests completed in 1.13 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
0.00% <= 4 milliseconds
1.43% <= 5 milliseconds
91.05% <= 6 milliseconds
99.31% <= 7 milliseconds
99.65% <= 8 milliseconds
100.00% <= 9 milliseconds
100.00% <= 9 milliseconds
88731.15 requests per second
====== RPOP ======
100000 requests completed in 1.11 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
0.00% <= 4 milliseconds
8.27% <= 5 milliseconds
94.66% <= 6 milliseconds
99.43% <= 7 milliseconds
99.75% <= 8 milliseconds
100.00% <= 8 milliseconds
90009.01 requests per second
====== SADD ======
100000 requests completed in 1.10 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
0.00% <= 4 milliseconds
2.84% <= 5 milliseconds
98.28% <= 6 milliseconds
99.21% <= 7 milliseconds
99.54% <= 8 milliseconds
99.95% <= 9 milliseconds
99.99% <= 10 milliseconds
100.00% <= 10 milliseconds
90579.71 requests per second
====== HSET ======
100000 requests completed in 1.15 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
0.00% <= 4 milliseconds
1.85% <= 5 milliseconds
80.87% <= 6 milliseconds
96.11% <= 7 milliseconds
99.45% <= 8 milliseconds
99.86% <= 9 milliseconds
99.97% <= 10 milliseconds
100.00% <= 10 milliseconds
86580.09 requests per second
====== SPOP ======
100000 requests completed in 1.08 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
0.00% <= 4 milliseconds
19.60% <= 5 milliseconds
94.86% <= 6 milliseconds
99.41% <= 7 milliseconds
99.68% <= 8 milliseconds
100.00% <= 8 milliseconds
92678.41 requests per second
====== LPUSH (needed to benchmark LRANGE) ======
100000 requests completed in 1.09 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
0.00% <= 4 milliseconds
9.33% <= 5 milliseconds
95.98% <= 6 milliseconds
99.41% <= 7 milliseconds
99.70% <= 8 milliseconds
100.00% <= 8 milliseconds
91491.30 requests per second
====== LRANGE_100 (first 100 elements) ======
100000 requests completed in 2.35 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
0.00% <= 8 milliseconds
0.08% <= 9 milliseconds
0.24% <= 10 milliseconds
11.86% <= 11 milliseconds
66.60% <= 12 milliseconds
98.17% <= 13 milliseconds
99.08% <= 14 milliseconds
99.21% <= 15 milliseconds
99.31% <= 16 milliseconds
99.38% <= 17 milliseconds
99.46% <= 18 milliseconds
99.54% <= 19 milliseconds
99.62% <= 20 milliseconds
99.66% <= 21 milliseconds
99.70% <= 22 milliseconds
99.73% <= 23 milliseconds
99.76% <= 24 milliseconds
99.80% <= 25 milliseconds
99.82% <= 26 milliseconds
99.83% <= 27 milliseconds
99.87% <= 28 milliseconds
99.90% <= 29 milliseconds
99.94% <= 30 milliseconds
99.97% <= 31 milliseconds
100.00% <= 31 milliseconds
42643.92 requests per second
====== LRANGE_300 (first 300 elements) ======
100000 requests completed in 5.27 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
0.00% <= 7 milliseconds
0.00% <= 8 milliseconds
0.03% <= 9 milliseconds
0.06% <= 10 milliseconds
0.08% <= 11 milliseconds
0.09% <= 12 milliseconds
0.11% <= 13 milliseconds
0.12% <= 14 milliseconds
0.14% <= 15 milliseconds
0.16% <= 16 milliseconds
0.17% <= 17 milliseconds
0.18% <= 18 milliseconds
0.19% <= 19 milliseconds
0.21% <= 20 milliseconds
0.28% <= 21 milliseconds
0.34% <= 22 milliseconds
0.43% <= 23 milliseconds
0.86% <= 24 milliseconds
16.11% <= 25 milliseconds
41.45% <= 26 milliseconds
63.28% <= 27 milliseconds
90.45% <= 28 milliseconds
98.43% <= 29 milliseconds
98.72% <= 30 milliseconds
98.89% <= 31 milliseconds
98.98% <= 32 milliseconds
99.04% <= 33 milliseconds
99.10% <= 34 milliseconds
99.16% <= 35 milliseconds
99.22% <= 36 milliseconds
99.27% <= 37 milliseconds
99.29% <= 38 milliseconds
99.32% <= 39 milliseconds
99.36% <= 40 milliseconds
99.41% <= 41 milliseconds
99.45% <= 42 milliseconds
99.49% <= 43 milliseconds
99.53% <= 44 milliseconds
99.58% <= 45 milliseconds
99.63% <= 46 milliseconds
99.68% <= 47 milliseconds
99.71% <= 48 milliseconds
99.73% <= 49 milliseconds
99.75% <= 50 milliseconds
99.78% <= 51 milliseconds
99.80% <= 52 milliseconds
99.82% <= 53 milliseconds
99.84% <= 54 milliseconds
99.85% <= 57 milliseconds
99.86% <= 58 milliseconds
99.88% <= 59 milliseconds
99.90% <= 60 milliseconds
99.93% <= 61 milliseconds
99.95% <= 62 milliseconds
99.97% <= 63 milliseconds
100.00% <= 63 milliseconds
18960.94 requests per second
====== LRANGE_500 (first 450 elements) ======
100000 requests completed in 7.23 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
0.00% <= 7 milliseconds
0.01% <= 8 milliseconds
0.02% <= 9 milliseconds
0.03% <= 10 milliseconds
0.04% <= 11 milliseconds
0.06% <= 12 milliseconds
0.07% <= 13 milliseconds
0.08% <= 14 milliseconds
0.09% <= 15 milliseconds
0.11% <= 16 milliseconds
0.12% <= 17 milliseconds
0.13% <= 18 milliseconds
0.14% <= 19 milliseconds
0.15% <= 20 milliseconds
0.16% <= 21 milliseconds
0.17% <= 22 milliseconds
0.18% <= 23 milliseconds
0.21% <= 24 milliseconds
0.25% <= 25 milliseconds
0.28% <= 26 milliseconds
0.33% <= 27 milliseconds
0.38% <= 28 milliseconds
0.43% <= 29 milliseconds
0.49% <= 30 milliseconds
0.74% <= 31 milliseconds
1.07% <= 32 milliseconds
2.02% <= 33 milliseconds
14.46% <= 34 milliseconds
30.68% <= 35 milliseconds
46.82% <= 36 milliseconds
63.02% <= 37 milliseconds
79.51% <= 38 milliseconds
95.29% <= 39 milliseconds
98.17% <= 40 milliseconds
98.25% <= 41 milliseconds
98.34% <= 42 milliseconds
98.43% <= 43 milliseconds
98.51% <= 44 milliseconds
98.55% <= 45 milliseconds
98.59% <= 46 milliseconds
98.64% <= 47 milliseconds
98.70% <= 48 milliseconds
98.76% <= 49 milliseconds
98.82% <= 50 milliseconds
98.91% <= 51 milliseconds
98.99% <= 52 milliseconds
99.06% <= 53 milliseconds
99.13% <= 54 milliseconds
99.21% <= 55 milliseconds
99.26% <= 56 milliseconds
99.31% <= 57 milliseconds
99.34% <= 58 milliseconds
99.37% <= 59 milliseconds
99.40% <= 60 milliseconds
99.43% <= 61 milliseconds
99.47% <= 62 milliseconds
99.51% <= 63 milliseconds
99.54% <= 64 milliseconds
99.58% <= 65 milliseconds
99.62% <= 66 milliseconds
99.65% <= 67 milliseconds
99.67% <= 68 milliseconds
99.69% <= 69 milliseconds
99.71% <= 70 milliseconds
99.72% <= 71 milliseconds
99.74% <= 72 milliseconds
99.76% <= 73 milliseconds
99.78% <= 74 milliseconds
99.80% <= 75 milliseconds
99.81% <= 76 milliseconds
99.83% <= 77 milliseconds
99.85% <= 78 milliseconds
99.87% <= 79 milliseconds
99.89% <= 80 milliseconds
99.90% <= 81 milliseconds
99.92% <= 82 milliseconds
99.94% <= 83 milliseconds
99.96% <= 84 milliseconds
99.97% <= 85 milliseconds
99.99% <= 86 milliseconds
100.00% <= 87 milliseconds
100.00% <= 88 milliseconds
100.00% <= 89 milliseconds
13833.17 requests per second
====== LRANGE_600 (first 600 elements) ======
100000 requests completed in 9.24 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
0.00% <= 7 milliseconds
0.00% <= 8 milliseconds
0.02% <= 9 milliseconds
0.03% <= 10 milliseconds
0.04% <= 11 milliseconds
0.05% <= 12 milliseconds
0.05% <= 13 milliseconds
0.06% <= 14 milliseconds
0.07% <= 15 milliseconds
0.08% <= 22 milliseconds
0.08% <= 23 milliseconds
0.09% <= 24 milliseconds
0.10% <= 25 milliseconds
0.11% <= 26 milliseconds
0.12% <= 27 milliseconds
0.13% <= 28 milliseconds
0.13% <= 29 milliseconds
0.14% <= 30 milliseconds
0.15% <= 31 milliseconds
0.16% <= 32 milliseconds
0.17% <= 33 milliseconds
0.20% <= 34 milliseconds
0.23% <= 35 milliseconds
0.25% <= 36 milliseconds
0.27% <= 37 milliseconds
0.29% <= 38 milliseconds
0.33% <= 39 milliseconds
0.38% <= 40 milliseconds
0.49% <= 41 milliseconds
0.73% <= 42 milliseconds
2.39% <= 43 milliseconds
12.65% <= 44 milliseconds
31.99% <= 45 milliseconds
46.00% <= 46 milliseconds
60.31% <= 47 milliseconds
77.61% <= 48 milliseconds
95.29% <= 49 milliseconds
98.17% <= 50 milliseconds
98.39% <= 51 milliseconds
98.63% <= 52 milliseconds
98.72% <= 53 milliseconds
98.76% <= 54 milliseconds
98.81% <= 55 milliseconds
98.87% <= 56 milliseconds
98.93% <= 57 milliseconds
99.00% <= 58 milliseconds
99.05% <= 59 milliseconds
99.10% <= 60 milliseconds
99.15% <= 61 milliseconds
99.21% <= 62 milliseconds
99.27% <= 63 milliseconds
99.33% <= 64 milliseconds
99.37% <= 65 milliseconds
99.40% <= 66 milliseconds
99.44% <= 67 milliseconds
99.46% <= 68 milliseconds
99.48% <= 69 milliseconds
99.51% <= 70 milliseconds
99.53% <= 71 milliseconds
99.54% <= 72 milliseconds
99.56% <= 73 milliseconds
99.57% <= 74 milliseconds
99.58% <= 75 milliseconds
99.60% <= 76 milliseconds
99.61% <= 78 milliseconds
99.61% <= 79 milliseconds
99.62% <= 80 milliseconds
99.63% <= 81 milliseconds
99.64% <= 82 milliseconds
99.65% <= 83 milliseconds
99.66% <= 84 milliseconds
99.67% <= 85 milliseconds
99.68% <= 86 milliseconds
99.69% <= 87 milliseconds
99.70% <= 88 milliseconds
99.72% <= 89 milliseconds
99.73% <= 90 milliseconds
99.75% <= 91 milliseconds
99.76% <= 92 milliseconds
99.77% <= 93 milliseconds
99.79% <= 94 milliseconds
99.80% <= 95 milliseconds
99.82% <= 96 milliseconds
99.83% <= 97 milliseconds
99.84% <= 98 milliseconds
99.86% <= 99 milliseconds
99.87% <= 100 milliseconds
99.88% <= 101 milliseconds
99.90% <= 102 milliseconds
99.91% <= 103 milliseconds
99.92% <= 104 milliseconds
99.94% <= 105 milliseconds
99.95% <= 106 milliseconds
99.96% <= 107 milliseconds
99.98% <= 108 milliseconds
100.00% <= 109 milliseconds
100.00% <= 109 milliseconds
10817.83 requests per second
====== MSET (10 keys) ======
100000 requests completed in 1.10 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
0.00% <= 4 milliseconds
0.07% <= 5 milliseconds
0.45% <= 6 milliseconds
9.78% <= 7 milliseconds
22.61% <= 8 milliseconds
47.83% <= 9 milliseconds
70.55% <= 10 milliseconds
80.61% <= 11 milliseconds
88.55% <= 12 milliseconds
96.01% <= 13 milliseconds
99.37% <= 14 milliseconds
99.92% <= 15 milliseconds
100.00% <= 15 milliseconds
90826.52 requests per second

C5 KeyDb performance clients 100

KeyDB Centos7/AWS Linux 2 Install:

sudo yum install gcc gcc-c++ -ysudo yum install libuuid libuuid-devel libcurl-devel tcl -ygit clone https://github.com/JohnSully/KeyDB.git
cd KeyDB
make
sudo make install
keydb-server --daemonize yes

keydb-benchmark -c 100


====== PING_INLINE ======
100000 requests completed in 1.02 seconds
100 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 0.3 milliseconds
0.01% <= 0.4 milliseconds
13.23% <= 0.5 milliseconds
94.94% <= 0.6 milliseconds
99.38% <= 0.7 milliseconds
99.96% <= 0.8 milliseconds
99.98% <= 0.9 milliseconds
99.99% <= 1.0 milliseconds
100.00% <= 1.0 milliseconds
97656.24 requests per second
====== PING_BULK ======
100000 requests completed in 1.03 seconds
100 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 0.4 milliseconds
11.18% <= 0.5 milliseconds
95.04% <= 0.6 milliseconds
99.76% <= 0.7 milliseconds
99.94% <= 0.8 milliseconds
99.95% <= 0.9 milliseconds
100.00% <= 0.9 milliseconds
96993.21 requests per second
====== SET ======
100000 requests completed in 1.02 seconds
100 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 0.3 milliseconds
0.00% <= 0.4 milliseconds
13.09% <= 0.5 milliseconds
95.29% <= 0.6 milliseconds
99.77% <= 0.7 milliseconds
99.94% <= 0.8 milliseconds
100.00% <= 0.9 milliseconds
100.00% <= 0.9 milliseconds
97847.36 requests per second
====== GET ======
100000 requests completed in 1.04 seconds
100 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 0.3 milliseconds
0.00% <= 0.4 milliseconds
4.18% <= 0.5 milliseconds
95.22% <= 0.6 milliseconds
99.58% <= 0.7 milliseconds
99.92% <= 0.8 milliseconds
99.99% <= 0.9 milliseconds
100.00% <= 1.0 milliseconds
100.00% <= 1.0 milliseconds
96525.09 requests per second
====== INCR ======
100000 requests completed in 1.03 seconds
100 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 0.3 milliseconds
0.00% <= 0.4 milliseconds
10.68% <= 0.5 milliseconds
95.41% <= 0.6 milliseconds
99.78% <= 0.7 milliseconds
99.94% <= 0.8 milliseconds
99.95% <= 0.9 milliseconds
100.00% <= 0.9 milliseconds
97465.88 requests per second
====== LPUSH ======
100000 requests completed in 1.02 seconds
100 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 0.3 milliseconds
0.01% <= 0.4 milliseconds
18.07% <= 0.5 milliseconds
94.90% <= 0.6 milliseconds
99.91% <= 0.7 milliseconds
99.97% <= 0.8 milliseconds
99.99% <= 0.9 milliseconds
100.00% <= 0.9 milliseconds
98328.42 requests per second
====== RPUSH ======
100000 requests completed in 1.02 seconds
100 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 0.4 milliseconds
21.12% <= 0.5 milliseconds
95.39% <= 0.6 milliseconds
99.70% <= 0.7 milliseconds
99.98% <= 0.8 milliseconds
100.00% <= 0.9 milliseconds
100.00% <= 0.9 milliseconds
98425.20 requests per second
====== LPOP ======
100000 requests completed in 1.02 seconds
100 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 0.4 milliseconds
7.01% <= 0.5 milliseconds
95.02% <= 0.6 milliseconds
99.81% <= 0.7 milliseconds
99.99% <= 0.8 milliseconds
100.00% <= 0.8 milliseconds
97751.71 requests per second
====== RPOP ======
100000 requests completed in 1.02 seconds
100 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 0.4 milliseconds
8.55% <= 0.5 milliseconds
95.55% <= 0.6 milliseconds
99.61% <= 0.7 milliseconds
99.88% <= 0.8 milliseconds
99.95% <= 0.9 milliseconds
99.96% <= 1.0 milliseconds
100.00% <= 1.0 milliseconds
97656.24 requests per second
====== SADD ======
100000 requests completed in 1.03 seconds
100 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 0.4 milliseconds
9.85% <= 0.5 milliseconds
95.13% <= 0.6 milliseconds
99.55% <= 0.7 milliseconds
99.99% <= 0.8 milliseconds
100.00% <= 0.8 milliseconds
97370.98 requests per second
====== HSET ======
100000 requests completed in 1.02 seconds
100 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 0.3 milliseconds
0.00% <= 0.4 milliseconds
16.30% <= 0.5 milliseconds
94.90% <= 0.6 milliseconds
99.71% <= 0.7 milliseconds
99.94% <= 0.8 milliseconds
99.99% <= 0.9 milliseconds
100.00% <= 0.9 milliseconds
98328.42 requests per second
====== SPOP ======
100000 requests completed in 1.02 seconds
100 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 0.4 milliseconds
15.52% <= 0.5 milliseconds
95.33% <= 0.6 milliseconds
99.42% <= 0.7 milliseconds
99.99% <= 0.8 milliseconds
100.00% <= 0.9 milliseconds
100.00% <= 0.9 milliseconds
97560.98 requests per second
====== LPUSH (needed to benchmark LRANGE) ======
100000 requests completed in 1.01 seconds
100 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 0.3 milliseconds
0.00% <= 0.4 milliseconds
20.57% <= 0.5 milliseconds
95.18% <= 0.6 milliseconds
99.78% <= 0.7 milliseconds
99.95% <= 0.8 milliseconds
100.00% <= 0.8 milliseconds
98522.17 requests per second
====== LRANGE_100 (first 100 elements) ======
100000 requests completed in 2.28 seconds
100 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 0.6 milliseconds
0.01% <= 0.7 milliseconds
0.01% <= 0.8 milliseconds
0.02% <= 0.9 milliseconds
0.05% <= 1.0 milliseconds
1.61% <= 1.1 milliseconds
91.40% <= 1.2 milliseconds
99.77% <= 1.3 milliseconds
99.87% <= 1.4 milliseconds
99.90% <= 1.5 milliseconds
99.91% <= 1.6 milliseconds
99.92% <= 1.7 milliseconds
99.92% <= 1.8 milliseconds
99.93% <= 1.9 milliseconds
99.93% <= 2 milliseconds
100.00% <= 3 milliseconds
100.00% <= 3 milliseconds
43956.04 requests per second
====== LRANGE_300 (first 300 elements) ======
100000 requests completed in 6.41 seconds
100 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.01% <= 1 milliseconds
0.01% <= 2 milliseconds
1.88% <= 3 milliseconds
99.93% <= 4 milliseconds
99.97% <= 5 milliseconds
99.98% <= 6 milliseconds
100.00% <= 6 milliseconds
15593.33 requests per second
====== LRANGE_500 (first 450 elements) ======
100000 requests completed in 8.51 seconds
100 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.01% <= 1 milliseconds
0.03% <= 2 milliseconds
0.06% <= 3 milliseconds
1.56% <= 4 milliseconds
99.71% <= 5 milliseconds
99.79% <= 6 milliseconds
99.86% <= 7 milliseconds
99.96% <= 8 milliseconds
99.99% <= 9 milliseconds
100.00% <= 9 milliseconds
11757.79 requests per second
====== LRANGE_600 (first 600 elements) ======
100000 requests completed in 10.77 seconds
100 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 1 milliseconds
0.04% <= 2 milliseconds
0.10% <= 3 milliseconds
0.19% <= 4 milliseconds
0.75% <= 5 milliseconds
98.28% <= 6 milliseconds
98.69% <= 7 milliseconds
99.07% <= 8 milliseconds
99.42% <= 9 milliseconds
99.65% <= 10 milliseconds
99.78% <= 11 milliseconds
99.84% <= 12 milliseconds
99.90% <= 13 milliseconds
99.94% <= 14 milliseconds
99.96% <= 15 milliseconds
99.97% <= 16 milliseconds
99.98% <= 19 milliseconds
99.98% <= 20 milliseconds
99.99% <= 22 milliseconds
99.99% <= 23 milliseconds
100.00% <= 23 milliseconds
9282.47 requests per second
====== MSET (10 keys) ======
100000 requests completed in 0.97 seconds
100 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
84.87% <= 1 milliseconds
100.00% <= 1 milliseconds
102669.41 requests per second

KeyDb performance 1000 connections

KeyDB]$ keydb-benchmark -c 1000
====== PING_INLINE ======
100000 requests completed in 1.14 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 5 milliseconds
95.70% <= 6 milliseconds
99.18% <= 7 milliseconds
99.43% <= 8 milliseconds
99.82% <= 9 milliseconds
99.94% <= 10 milliseconds
100.00% <= 10 milliseconds
87796.30 requests per second
====== PING_BULK ======
100000 requests completed in 1.15 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 4 milliseconds
0.00% <= 5 milliseconds
88.28% <= 6 milliseconds
99.11% <= 7 milliseconds
99.50% <= 8 milliseconds
99.90% <= 9 milliseconds
100.00% <= 9 milliseconds
86805.56 requests per second
====== SET ======
100000 requests completed in 1.17 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 5 milliseconds
82.60% <= 6 milliseconds
99.15% <= 7 milliseconds
99.40% <= 8 milliseconds
99.82% <= 9 milliseconds
99.93% <= 10 milliseconds
100.00% <= 10 milliseconds
85763.29 requests per second
====== GET ======
100000 requests completed in 1.15 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 4 milliseconds
1.46% <= 5 milliseconds
84.74% <= 6 milliseconds
99.20% <= 7 milliseconds
99.54% <= 8 milliseconds
99.96% <= 9 milliseconds
100.00% <= 9 milliseconds
86956.52 requests per second
====== INCR ======
100000 requests completed in 1.17 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 4 milliseconds
0.01% <= 5 milliseconds
83.18% <= 6 milliseconds
99.20% <= 7 milliseconds
99.48% <= 8 milliseconds
99.89% <= 9 milliseconds
99.99% <= 10 milliseconds
100.00% <= 10 milliseconds
85689.80 requests per second
====== LPUSH ======
100000 requests completed in 1.14 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 5 milliseconds
96.01% <= 6 milliseconds
99.18% <= 7 milliseconds
99.47% <= 8 milliseconds
99.88% <= 9 milliseconds
99.93% <= 10 milliseconds
99.98% <= 11 milliseconds
100.00% <= 11 milliseconds
88028.16 requests per second
====== RPUSH ======
100000 requests completed in 1.15 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 5 milliseconds
87.01% <= 6 milliseconds
99.21% <= 7 milliseconds
99.51% <= 8 milliseconds
99.89% <= 9 milliseconds
99.97% <= 10 milliseconds
100.00% <= 10 milliseconds
87032.20 requests per second
====== LPOP ======
100000 requests completed in 1.14 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 4 milliseconds
0.02% <= 5 milliseconds
93.57% <= 6 milliseconds
99.13% <= 7 milliseconds
99.39% <= 8 milliseconds
99.85% <= 9 milliseconds
99.90% <= 10 milliseconds
99.94% <= 11 milliseconds
99.99% <= 12 milliseconds
100.00% <= 12 milliseconds
88028.16 requests per second
====== RPOP ======
100000 requests completed in 1.19 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 4 milliseconds
0.16% <= 5 milliseconds
65.03% <= 6 milliseconds
97.31% <= 7 milliseconds
98.97% <= 8 milliseconds
99.81% <= 9 milliseconds
100.00% <= 9 milliseconds
84104.29 requests per second
====== SADD ======
100000 requests completed in 1.15 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 4 milliseconds
0.02% <= 5 milliseconds
88.12% <= 6 milliseconds
98.97% <= 7 milliseconds
99.37% <= 8 milliseconds
99.73% <= 9 milliseconds
99.91% <= 10 milliseconds
99.95% <= 11 milliseconds
100.00% <= 12 milliseconds
100.00% <= 12 milliseconds
86655.11 requests per second
====== HSET ======
100000 requests completed in 1.14 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 4 milliseconds
1.27% <= 5 milliseconds
89.16% <= 6 milliseconds
99.39% <= 7 milliseconds
99.68% <= 8 milliseconds
100.00% <= 8 milliseconds
87796.30 requests per second
====== SPOP ======
100000 requests completed in 1.14 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 4 milliseconds
3.03% <= 5 milliseconds
83.06% <= 6 milliseconds
99.18% <= 7 milliseconds
99.60% <= 8 milliseconds
99.97% <= 9 milliseconds
100.00% <= 9 milliseconds
87642.41 requests per second
====== LPUSH (needed to benchmark LRANGE) ======
100000 requests completed in 1.16 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 3 milliseconds
0.09% <= 4 milliseconds
1.34% <= 5 milliseconds
70.54% <= 6 milliseconds
98.59% <= 7 milliseconds
99.17% <= 8 milliseconds
99.73% <= 9 milliseconds
99.92% <= 10 milliseconds
100.00% <= 10 milliseconds
85984.52 requests per second
====== LRANGE_100 (first 100 elements) ======
100000 requests completed in 2.48 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 8 milliseconds
0.09% <= 9 milliseconds
0.17% <= 10 milliseconds
0.23% <= 11 milliseconds
17.08% <= 12 milliseconds
91.82% <= 13 milliseconds
98.40% <= 14 milliseconds
98.55% <= 15 milliseconds
98.67% <= 16 milliseconds
98.84% <= 17 milliseconds
99.00% <= 18 milliseconds
99.14% <= 19 milliseconds
99.26% <= 20 milliseconds
99.39% <= 21 milliseconds
99.48% <= 22 milliseconds
99.56% <= 23 milliseconds
99.63% <= 24 milliseconds
99.68% <= 25 milliseconds
99.72% <= 26 milliseconds
99.76% <= 27 milliseconds
99.80% <= 28 milliseconds
99.84% <= 29 milliseconds
99.88% <= 30 milliseconds
99.92% <= 31 milliseconds
99.94% <= 32 milliseconds
99.96% <= 33 milliseconds
100.00% <= 33 milliseconds
40338.84 requests per second
====== LRANGE_300 (first 300 elements) ======
100000 requests completed in 5.85 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 7 milliseconds
0.01% <= 8 milliseconds
0.04% <= 9 milliseconds
0.05% <= 10 milliseconds
0.07% <= 11 milliseconds
0.09% <= 12 milliseconds
0.10% <= 13 milliseconds
0.12% <= 14 milliseconds
0.13% <= 15 milliseconds
0.15% <= 16 milliseconds
0.15% <= 18 milliseconds
0.18% <= 19 milliseconds
0.24% <= 20 milliseconds
0.29% <= 21 milliseconds
0.34% <= 22 milliseconds
0.39% <= 23 milliseconds
0.44% <= 24 milliseconds
0.51% <= 25 milliseconds
0.71% <= 26 milliseconds
1.02% <= 27 milliseconds
2.49% <= 28 milliseconds
27.59% <= 29 milliseconds
84.73% <= 30 milliseconds
97.40% <= 31 milliseconds
97.72% <= 32 milliseconds
97.95% <= 33 milliseconds
98.10% <= 34 milliseconds
98.22% <= 35 milliseconds
98.32% <= 36 milliseconds
98.42% <= 37 milliseconds
98.50% <= 38 milliseconds
98.56% <= 39 milliseconds
98.64% <= 40 milliseconds
98.71% <= 41 milliseconds
98.78% <= 42 milliseconds
98.85% <= 43 milliseconds
98.92% <= 44 milliseconds
98.99% <= 45 milliseconds
99.06% <= 46 milliseconds
99.12% <= 47 milliseconds
99.19% <= 48 milliseconds
99.25% <= 49 milliseconds
99.30% <= 50 milliseconds
99.35% <= 51 milliseconds
99.40% <= 52 milliseconds
99.45% <= 53 milliseconds
99.50% <= 54 milliseconds
99.57% <= 55 milliseconds
99.63% <= 56 milliseconds
99.68% <= 57 milliseconds
99.72% <= 58 milliseconds
99.76% <= 59 milliseconds
99.81% <= 60 milliseconds
99.83% <= 61 milliseconds
99.85% <= 62 milliseconds
99.87% <= 63 milliseconds
99.89% <= 64 milliseconds
99.91% <= 65 milliseconds
99.93% <= 66 milliseconds
99.95% <= 69 milliseconds
99.97% <= 70 milliseconds
100.00% <= 70 milliseconds
17091.10 requests per second
====== LRANGE_500 (first 450 elements) ======
100000 requests completed in 8.17 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 7 milliseconds
0.01% <= 8 milliseconds
0.03% <= 9 milliseconds
0.04% <= 10 milliseconds
0.05% <= 11 milliseconds
0.06% <= 12 milliseconds
0.07% <= 13 milliseconds
0.08% <= 14 milliseconds
0.09% <= 15 milliseconds
0.09% <= 28 milliseconds
0.13% <= 29 milliseconds
0.17% <= 30 milliseconds
0.22% <= 31 milliseconds
0.26% <= 32 milliseconds
0.32% <= 33 milliseconds
0.40% <= 34 milliseconds
0.50% <= 35 milliseconds
0.65% <= 36 milliseconds
0.84% <= 37 milliseconds
1.09% <= 38 milliseconds
2.11% <= 39 milliseconds
12.84% <= 40 milliseconds
55.85% <= 41 milliseconds
92.04% <= 42 milliseconds
96.77% <= 43 milliseconds
97.05% <= 44 milliseconds
97.28% <= 45 milliseconds
97.43% <= 46 milliseconds
97.58% <= 47 milliseconds
97.71% <= 48 milliseconds
97.81% <= 49 milliseconds
97.91% <= 50 milliseconds
98.00% <= 51 milliseconds
98.08% <= 52 milliseconds
98.24% <= 53 milliseconds
98.64% <= 54 milliseconds
98.74% <= 55 milliseconds
98.80% <= 56 milliseconds
98.86% <= 57 milliseconds
98.92% <= 58 milliseconds
98.97% <= 59 milliseconds
99.02% <= 60 milliseconds
99.08% <= 61 milliseconds
99.14% <= 62 milliseconds
99.20% <= 63 milliseconds
99.25% <= 64 milliseconds
99.30% <= 65 milliseconds
99.34% <= 66 milliseconds
99.37% <= 67 milliseconds
99.39% <= 68 milliseconds
99.41% <= 69 milliseconds
99.44% <= 70 milliseconds
99.47% <= 71 milliseconds
99.50% <= 72 milliseconds
99.53% <= 73 milliseconds
99.56% <= 74 milliseconds
99.61% <= 75 milliseconds
99.65% <= 76 milliseconds
99.70% <= 77 milliseconds
99.72% <= 78 milliseconds
99.74% <= 79 milliseconds
99.76% <= 80 milliseconds
99.78% <= 81 milliseconds
99.79% <= 82 milliseconds
99.81% <= 84 milliseconds
99.81% <= 85 milliseconds
99.82% <= 86 milliseconds
99.83% <= 87 milliseconds
99.84% <= 88 milliseconds
99.85% <= 89 milliseconds
99.86% <= 90 milliseconds
99.87% <= 91 milliseconds
99.89% <= 92 milliseconds
99.91% <= 93 milliseconds
99.92% <= 94 milliseconds
99.94% <= 95 milliseconds
99.95% <= 96 milliseconds
99.97% <= 97 milliseconds
99.99% <= 98 milliseconds
100.00% <= 98 milliseconds
12235.41 requests per second
====== LRANGE_600 (first 600 elements) ======
100000 requests completed in 10.50 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 7 milliseconds
0.01% <= 8 milliseconds
0.01% <= 9 milliseconds
0.02% <= 10 milliseconds
0.03% <= 11 milliseconds
0.04% <= 12 milliseconds
0.05% <= 13 milliseconds
0.05% <= 14 milliseconds
0.06% <= 15 milliseconds
0.07% <= 16 milliseconds
0.08% <= 17 milliseconds
0.09% <= 18 milliseconds
0.09% <= 19 milliseconds
0.10% <= 20 milliseconds
0.11% <= 21 milliseconds
0.12% <= 22 milliseconds
0.13% <= 23 milliseconds
0.14% <= 24 milliseconds
0.16% <= 25 milliseconds
0.20% <= 26 milliseconds
0.23% <= 27 milliseconds
0.26% <= 28 milliseconds
0.28% <= 29 milliseconds
0.30% <= 30 milliseconds
0.32% <= 31 milliseconds
0.34% <= 32 milliseconds
0.36% <= 33 milliseconds
0.38% <= 34 milliseconds
0.39% <= 35 milliseconds
0.41% <= 36 milliseconds
0.42% <= 37 milliseconds
0.43% <= 38 milliseconds
0.45% <= 39 milliseconds
0.49% <= 40 milliseconds
0.52% <= 41 milliseconds
0.56% <= 42 milliseconds
0.62% <= 43 milliseconds
0.69% <= 44 milliseconds
0.76% <= 45 milliseconds
0.82% <= 46 milliseconds
0.89% <= 47 milliseconds
1.00% <= 48 milliseconds
1.15% <= 49 milliseconds
1.77% <= 50 milliseconds
8.31% <= 51 milliseconds
33.76% <= 52 milliseconds
61.90% <= 53 milliseconds
90.53% <= 54 milliseconds
96.86% <= 55 milliseconds
97.10% <= 56 milliseconds
97.25% <= 57 milliseconds
97.37% <= 58 milliseconds
97.48% <= 59 milliseconds
97.60% <= 60 milliseconds
97.70% <= 61 milliseconds
97.79% <= 62 milliseconds
97.88% <= 63 milliseconds
97.96% <= 64 milliseconds
98.02% <= 65 milliseconds
98.08% <= 66 milliseconds
98.14% <= 67 milliseconds
98.20% <= 68 milliseconds
98.27% <= 69 milliseconds
98.32% <= 70 milliseconds
98.36% <= 71 milliseconds
98.39% <= 72 milliseconds
98.44% <= 73 milliseconds
98.48% <= 74 milliseconds
98.53% <= 75 milliseconds
98.59% <= 76 milliseconds
98.63% <= 77 milliseconds
98.68% <= 78 milliseconds
98.72% <= 79 milliseconds
98.76% <= 80 milliseconds
98.78% <= 81 milliseconds
98.81% <= 82 milliseconds
98.85% <= 83 milliseconds
98.87% <= 84 milliseconds
98.91% <= 85 milliseconds
98.93% <= 86 milliseconds
98.96% <= 87 milliseconds
99.00% <= 88 milliseconds
99.03% <= 89 milliseconds
99.06% <= 90 milliseconds
99.10% <= 91 milliseconds
99.12% <= 92 milliseconds
99.15% <= 93 milliseconds
99.18% <= 94 milliseconds
99.20% <= 95 milliseconds
99.23% <= 96 milliseconds
99.26% <= 97 milliseconds
99.29% <= 98 milliseconds
99.33% <= 99 milliseconds
99.36% <= 100 milliseconds
99.40% <= 101 milliseconds
99.43% <= 102 milliseconds
99.47% <= 103 milliseconds
99.51% <= 104 milliseconds
99.54% <= 105 milliseconds
99.56% <= 106 milliseconds
99.59% <= 107 milliseconds
99.62% <= 108 milliseconds
99.65% <= 109 milliseconds
99.68% <= 110 milliseconds
99.70% <= 111 milliseconds
99.73% <= 112 milliseconds
99.76% <= 113 milliseconds
99.79% <= 114 milliseconds
99.81% <= 115 milliseconds
99.82% <= 116 milliseconds
99.83% <= 117 milliseconds
99.85% <= 118 milliseconds
99.87% <= 119 milliseconds
99.89% <= 120 milliseconds
99.91% <= 121 milliseconds
99.93% <= 122 milliseconds
99.95% <= 123 milliseconds
99.96% <= 124 milliseconds
99.97% <= 125 milliseconds
99.99% <= 126 milliseconds
100.00% <= 127 milliseconds
100.00% <= 129 milliseconds
100.00% <= 131 milliseconds
9522.90 requests per second
====== MSET (10 keys) ======
100000 requests completed in 1.09 seconds
1000 parallel clients
3 bytes payload
keep alive: 1
host configuration “save”:
host configuration “appendonly”: no
multi-thread: no
0.00% <= 4 milliseconds
0.27% <= 5 milliseconds
62.71% <= 6 milliseconds
72.80% <= 7 milliseconds
81.04% <= 8 milliseconds
87.76% <= 9 milliseconds
92.28% <= 10 milliseconds
95.68% <= 11 milliseconds
98.54% <= 12 milliseconds
99.81% <= 13 milliseconds
99.93% <= 14 milliseconds
100.00% <= 14 milliseconds
91491.30 requests per second

Redis VS KeyDB performance

+----------------+----------+----------+
| | Redis | KeyDB |
+----------------+----------+----------+
| A1.large 100 | 59066.75 | |
+----------------+----------+----------+
| T3.medium 100 | 78926.6 | |
+----------------+----------+----------+
| C5.large 100 | 97656.24 | 96525.09 |
+----------------+----------+----------+
| C5.large 1000 | 87873.46 | 86956.52 |
+----------------+----------+----------+
Redis vs KeyDB

--

--

Yegor Shytikov
Yegor Shytikov

Written by Yegor Shytikov

True Stories about Magento 2. Melting down metal server infrastructure into cloud solutions.

No responses yet