一 编译安装
以下实例同时执行 10000 个请求来检测性能:
[root@aliyun-node redis-6.2.5]# redis-benchmark -n 10000 -a 123 -q
PING_INLINE: 52083.33 requests per second, p50=0.663 msec
PING_MBULK: 53191.49 requests per second, p50=0.655 msec
SET: 50251.26 requests per second, p50=0.671 msec
GET: 52356.02 requests per second, p50=0.655 msec
INCR: 51546.39 requests per second, p50=0.663 msec
LPUSH: 50505.05 requests per second, p50=0.687 msec
RPUSH: 51282.05 requests per second, p50=0.671 msec
LPOP: 51020.41 requests per second, p50=0.679 msec
RPOP: 51282.05 requests per second, p50=0.671 msec
SADD: 52356.02 requests per second, p50=0.663 msec
HSET: 51020.41 requests per second, p50=0.671 msec
SPOP: 52083.33 requests per second, p50=0.663 msec
ZADD: 51020.41 requests per second, p50=0.679 msec
ZPOPMIN: 52356.02 requests per second, p50=0.663 msec
LPUSH (needed to benchmark LRANGE): 50761.42 requests per second, p50=0.679 msec
LRANGE_100 (first 100 elements): 30030.03 requests per second, p50=1.143 msec
LRANGE_300 (first 300 elements): 14880.95 requests per second, p50=2.247 msec
LRANGE_500 (first 500 elements): 10162.60 requests per second, p50=3.231 msec
LRANGE_600 (first 600 elements): 8764.24 requests per second, p50=3.719 msec
MSET (10 keys): 46296.30 requests per second, p50=0.783 msec
二、docker安装redis 网络默认使用bridge模式
root@4c20f85b1de2:/data# redis-benchmark -n 10000 -a 123 -q
PING_INLINE: 24630.54 requests per second, p50=1.207 msec
PING_MBULK: 25125.63 requests per second, p50=1.191 msec
SET: 24875.62 requests per second, p50=1.199 msec
GET: 25316.46 requests per second, p50=1.183 msec
INCR: 25000.00 requests per second, p50=1.199 msec
LPUSH: 25062.66 requests per second, p50=1.199 msec
RPUSH: 25000.00 requests per second, p50=1.199 msec
LPOP: 25000.00 requests per second, p50=1.183 msec
RPOP: 25062.66 requests per second, p50=1.191 msec
SADD: 25188.92 requests per second, p50=1.183 msec
HSET: 25062.66 requests per second, p50=1.207 msec
SPOP: 25062.66 requests per second, p50=1.191 msec
ZADD: 24752.47 requests per second, p50=1.215 msec
ZPOPMIN: 25062.66 requests per second, p50=1.183 msec
LPUSH (needed to benchmark LRANGE): 25062.66 requests per second, p50=1.207 msec
LRANGE_100 (first 100 elements): 19047.62 requests per second, p50=1.615 msec
LRANGE_300 (first 300 elements): 11520.74 requests per second, p50=2.599 msec
LRANGE_500 (first 500 elements): 8628.13 requests per second, p50=3.487 msec
LRANGE_600 (first 600 elements): 7686.40 requests per second, p50=3.903 msec
MSET (10 keys): 23752.97 requests per second, p50=1.295 msec
三、使用host网络 网络默认使用host模式
root@aliyun-node:/data# redis-benchmark -n 10000 -q
PING_INLINE: 24038.46 requests per second, p50=1.247 msec
PING_MBULK: 24449.88 requests per second, p50=1.231 msec
SET: 24570.02 requests per second, p50=1.223 msec
GET: 24154.59 requests per second, p50=1.239 msec
INCR: 24509.80 requests per second, p50=1.231 msec
LPUSH: 24390.24 requests per second, p50=1.239 msec
RPUSH: 24390.24 requests per second, p50=1.239 msec
LPOP: 24213.08 requests per second, p50=1.239 msec
RPOP: 24213.08 requests per second, p50=1.239 msec
SADD: 24271.84 requests per second, p50=1.231 msec
HSET: 24213.08 requests per second, p50=1.239 msec
SPOP: 24630.54 requests per second, p50=1.215 msec
ZADD: 24271.84 requests per second, p50=1.247 msec
ZPOPMIN: 24691.36 requests per second, p50=1.223 msec
LPUSH (needed to benchmark LRANGE): 24271.84 requests per second, p50=1.239 msec
LRANGE_100 (first 100 elements): 18621.97 requests per second, p50=1.663 msec
LRANGE_300 (first 300 elements): 11415.53 requests per second, p50=2.655 msec
LRANGE_500 (first 500 elements): 8561.64 requests per second, p50=3.535 msec
LRANGE_600 (first 600 elements): 7610.35 requests per second, p50=3.927 msec
MSET (10 keys): 23201.86 requests per second, p50=1.343 msec
四、结论
docker安装的redis会比正常编译安装的速度慢不少,推荐使用编译安装。