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 |