一、介绍¶
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