之前的文章中提到过,在redis的下载目录中包含redis-benchmark文件,它是一个用于对redis进行性能测试的工具。当我们启动redis服务后(运行redis-server),通过相关命令即可进行性能测试。
基本命令
benchmark基本命令为redis-benchmark
常用参数如下:
-h 指定服务器主机名 默认本机
-p 指定服务器端口 默认6379
-s 指定服务器socket
-c 指定并发连接数
-n 指定请求数 默认10000
-d 以字节形式指定get/set值的数据大小 默认2
-k 1=keep alive 0=reconnect 默认1
-r get/set/incr使用随机key,sadd使用随机值
-P 通过管道传输<numreq>请求 默认1
-q 强制退出redis,仅显示query/sec值
--csv 以csv格式输出
-l 生产循环,永久执行测试
-t 仅运行以逗号分隔的测试命令列表
-I idle模式,仅打开N个idle连接并等待
完整的命令可在redis官网查看。
简单测试
简单举一个测试例子(测试一百个并发连接,每个并发十万个请求)
redis-benchmark -h localhost -p 6379 -c 100 -n 100000
运行结束后会显示以下数据(部分)

测试数据解读
以上图的set为例
100000 request。。。表示请求完成的时间(十万个请求用了16.65秒)
100 parallel。。。表示有100个并发客户端
3 byte payload 表示每次写入(set)的字节数(3 byte)
keep alive :1 表示只有一台服务器处理请求(单机性能)
0.00% <== 3 milliseconds 表示请求处理进度及对应时间
6006.01 requests per second 表示平均每毫秒处理多少个请求(上图中未显示,一般在结果最后一行)