进入到 Redis 安装目录,运行 命令查看帮助信息:
用法: redis-benchmark [-h <host>] [-p <port>] [-c <clients>] [-n <requests]> [-k <boolean>]
-h <hostname> 服务器主机名 (默认 127.0.0.1)
-p <port> 服务器端口 (默认 6379)
-s <socket> 服务器套接字 (覆盖主机名和端口)
-a <password> Redis 验证密码
-c <clients> 并行连接数(默认 50)
-n <requests> 请求总数(默认 100000)
-d <size> SET/GET 值的数据大小(以字节为单位)(默认 2)
-dbnum <db> SELECT 指定的数据库编号(默认为 0)
-k <boolean> 1=保持活动状态 0=重新连接(默认 1)
-r <keyspacelen> 对 SET/GET/INCR 使用随机键,对 SADD 使用随机值使用此选项,基准测试将在参数中扩展字符串 __rand_int__,其中包含从 0 到 keyspacelen-1 的指定范围内的 12 位数字。每次执行命令时,替换都会更改。 默认测试使用它来点击指定范围内的随机键。
-P <numreq> Pipeline <numreq> 请求。默认 1(无管道)
-q 安静的。只显示查询/秒值
--csv 以 CSV 格式输出
-l 循环。永远运行测试
-t <tests> 仅运行逗号分隔的测试列表。测试名称与作为输出生成的名称相同。
-I 空闲模式。 只需打开 N 个空闲连接并等待。针对 127.0.0.1:6379 使用默认配置运行基准测试:
D:\server\redis-64.3.0.503>redis-benchmark.exe
====== PING_INLINE ======
100000 requests completed in 2.77 seconds
50 parallel clients
3 bytes payload
keep alive: 1
18.36% <= 1 milliseconds
94.39% <= 2 milliseconds
98.81% <= 3 milliseconds
...
99.94% <= 9 milliseconds
99.96% <= 10 milliseconds
100.00% <= 11 milliseconds
100.00% <= 11 milliseconds
36140.22 requests per second
====== PING_BULK ======
100000 requests completed in 2.69 seconds
50 parallel clients
3 bytes payload
keep alive: 1
...针对 192.168.1.3 使用 20 个并行客户端,总共 100k 个请求:
D:\server\redis-64.3.0.503>redis-benchmark -h 192.168.1.3 -p 6379 -n 100000 -c 20
====== PING_INLINE ======
100000 requests completed in 2.68 seconds
20 parallel clients
3 bytes payload
keep alive: 1
97.90% <= 1 milliseconds
99.76% <= 2 milliseconds
...
99.97% <= 7 milliseconds
100.00% <= 7 milliseconds
37313.43 requests per second
====== PING_BULK ======
100000 requests completed in 2.56 seconds
20 parallel clients
3 bytes payload
keep alive: 1
...仅使用 SET 测试用大约 100 万个键填充 127.0.0.1:6379:
D:\server\redis-64.3.0.503> redis-benchmark -t set -n 1000000 -r 100000000
====== SET ======
1000000 requests completed in 30.72 seconds
50 parallel clients
3 bytes payload
keep alive: 1
29.20% <= 1 milliseconds
87.69% <= 2 milliseconds
...
100.00% <= 22 milliseconds
32552.08 requests per second基准 127.0.0.1:6379 用于生成 CSV 输出的一些命令:
redis-benchmark -t ping,set,get -n 100000 --csv对特定命令行进行基准测试:
redis-benchmark -r 10000 -n 10000 eval 'return redis.call("ping")' 0用 10000 个随机元素填充一个列表:
redis-benchmark -r 10000 -n 10000 lpush mylist __rand_int__在用户指定的命令行上,__rand_int__ 被替换为一个随机整数,该整数的值范围由 -r 选项选择。