一、Redis 性能测试
Redis 性能测试是通过同时执行多个命令实现的。
1.1 语法
注意:该命令是在 redis 的目录下执行的,而不是 redis 客户端的内部指令。
redis-benchmark [option] [option value]
1.2 示列
以下示列同时执行 10000 个请求来检测性能:
$ redis-benchmark -n 10000 -q
PING_INLINE: 141043.72 requests per second
PING_BULK: 142857.14 requests per second
SET: 141442.72 requests per second
GET: 145348.83 requests per second
INCR: 137362.64 requests per second
LPUSH: 145348.83 requests per second
LPOP: 146198.83 requests per second
SADD: 146198.83 requests per second
SPOP: 149253.73 requests per second
LPUSH (needed to benchmark LRANGE): 148588.42 requests per second
LRANGE_100 (first 100 elements): 58411.21 requests per second
LRANGE_300 (first 300 elements): 21195.42 requests per second
LRANGE_500 (first 450 elements): 14539.11 requests per second
LRANGE_600 (first 600 elements): 10504.20 requests per second
MSET (10 keys): 93283.58 requests per second
1.3 redis 性能测试工具可选参数
参数 | 描述 |
---|---|
-h 指定服务器主机名[默认值:127.0.0.1] | -p 指定服务器端口 [默认值:6379] |
-s 指定服务器 socket | -c 指定并发连接数 [默认值50] |
-n 指定请求数 [默认值10000] | -d 以字节的形式指定 SET/GET 值的数据大小 [默认值2] |
-k 1=keep alive 0=reconnect [默认值1] | -r SET/GET/INCR 使用随机 key, SADD 使用随机值 |
-P 通过管道传输 请求 [默认值1] | -q 强制退出 redis。仅显示 query/sec 值 |
–csv 以 CSV 格式输出 | -l 生成循环,永久执行测试 |
-t 仅运行以逗号分隔的测试命令列表。 | -I Idle 模式。仅打开 N 个 idle 连接并等待。 |