一、介绍

redis-benchmark是 Redis自带的基准性能测试工具

redis-benchmark测试 cluster集群实例时需要加 --cluster 参数

二、参数

 -h <hostname> 指定服务器主机名 (默认 127.0.0.1)

 -p <port> 指定服务器端口 (默认 6379)

 -s <socket> 指定服务器 socket

 -a <password> Redis 认证密码

 -c <clients> 指定并发连接数 (默认 50)

 -n <requests> 指定请求数 (默认 100000)

 -d <size> 以字节的形式指定 SET/GET 值的数据大小 (默认 2)

 --dbnum <db> 选择指定的数据库号 (默认 0)

 -k <boolean> 1=keep alive 长链接, 0=reconnect (默认 1) 每次请求重新连接

 -r <keyspacelen> SET/GET/INCR 使用随机 key, SADD 使用随机值

 -P <numreq> 通过管道传输 <numreq> 请求,代表每个请求 pipeline的数据量(默认为 1)

 -q 仅仅显示 redis-benchmark的 requests per second信息,

 -t <tests> 可以对指定命令进行基准测试 例如: -t get,set

 --csv 以 CSV 格式输出

三、模拟 ,50个客户端同时请求 Redis,总共 1万个请求

/usr/local/redis/bin/redis-benchmark -p 6400 -P 10 -c 50 -d 100 -n 10000 -t get

四、结果分析

redis-benchmark -p 6400 -P 10 -c 50 -d 100 -n 10000 -t get

# redis-benchmark -p 6400 -P 10 -c 50 -d 100 -n 10000 -t get
====== MSET (10 keys) ======
 10000 requests completed in 0.13 seconds #总共1万次,0.13秒完成
 50 parallel clients #50并发
 100 bytes payload #每个请求100字节
 keep alive: 1
97.81% <= 1 milliseconds #97.81%的命令执行时间小于1毫秒
99.23% <= 2 milliseconds
100.00% <= 2 milliseconds
Summary:
 throughput summary: 476190.47 requests per second #每秒可以处理476190.47次get请求
 latency summary (msec):
 avg       min       p50       p95       p99       max
 0.845     0.232     0.791     1.127     2.335     2.455