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 -

Test Case Kubernetes Redis Cluster (requests/s) Native Redis-Cluster (requests/s)
PING_INLINE 34886.96 44389.20
PING_BULK 37335.72 49309.66
SET 34373.71 47801.15
GET 37174.72 47258.98
INCR 36148.06 46772.69
LPUSH 36374.22 45821.12
RPUSH 34760.85 50854.36
LPOP 36437.84 49504.95
RPOP 35350.68 50484.65
SADD 37832.93 50617.53
HSET 36411.30 50771.73
SPOP 36748.49 48694.98
LPUSH (needed to benchmark LRANGE) 37358.04 51020.41
LRANGE_100 (first 100 elements) 36851.41 49144.88
LRANGE_300 (first 300 elements) 31277.37 45737.29
LRANGE_500 (first 450 elements) 23182.49 49603.18
LRANGE_600 (first 600 elements) 23992.32 50566.34
MSET (10 keys) 35582.12 50885.41