Kubernetes Redis-cluster vs Native Redis-cluster benchmark

Kubernetes Redis cluster with 3 master and 3 slave.

Native Redis cluster is deployed on 3 servers. Each server hold one master and one slave.

The conclusion is the kubernetes cluster is around 30% slower than native cluster.

This is understandable since are a lot layers in kubernetes (container, kube dns…), but the benefit is kubernetes can handle the crash for us. It depends on your business logic and see choosing which one.

# ./redis-benchmark -h 10.111.79.75 -p 6379 -n 250000 -
Kubernetes redis cluster:Native redis-cluster
====== PING_INLINE ======
34886.96 requests per second
====== PING_BULK ======
37335.72 requests per second
====== SET ======
34373.71 requests per second
====== GET ======
37174.72 requests per second
====== INCR ======
36148.06 requests per second
====== LPUSH ======
36374.22 requests per second
====== RPUSH ======
34760.85 requests per second
====== LPOP ======
36437.84 requests per second
====== RPOP ======
35350.68 requests per second
====== SADD ======
37832.93 requests per second
====== HSET ======
36411.30 requests per second
====== SPOP ======
36748.49 requests per second
====== LPUSH (needed to benchmark LRANGE) ======
37358.04 requests per second
====== LRANGE_100 (first 100 elements) ======
36851.41 requests per second
====== LRANGE_300 (first 300 elements) ======
31277.37 requests per second
====== LRANGE_500 (first 450 elements) ======
23182.49 requests per second
====== LRANGE_600 (first 600 elements) ======
23992.32 requests per second
====== MSET (10 keys) ======
35582.12 requests per second
====== PING_INLINE ======
44389.20 requests per second
====== PING_BULK ======
49309.66 requests per second
====== SET ======
47801.15 requests per second
====== GET ======
47258.98 requests per second
====== INCR ======
46772.69 requests per second
====== LPUSH ======
45821.12 requests per second
====== RPUSH ======
50854.36 requests per second
====== LPOP ======
49504.95 requests per second
====== RPOP ======
50484.65 requests per second
====== SADD ======
50617.53 requests per second
====== HSET ======
50771.73 requests per second
====== SPOP ======
48694.98 requests per second
====== LPUSH (needed to benchmark LRANGE) ======
51020.41 requests per second
====== LRANGE_100 (first 100 elements) ======
49144.88 requests per second
====== LRANGE_300 (first 300 elements) ======
45737.29 requests per second
====== LRANGE_500 (first 450 elements) ======
49603.18 requests per second
====== LRANGE_600 (first 600 elements) ======
50566.34 requests per second
====== MSET (10 keys) ======
50885.41 requests per second