目录
1、简介
Redis 自带了一个叫 redis-benchmark 的工具来模拟 N 个客户端同时发出 M 个请求。(类似于 Apache ab 程序)。
Redis下载地址:
https://redis.io/download
2、参数
redis-benchmark工具存放在Redis的src目录下。
使用 redis-benchmark -h 命令来查看使用参数
redis-benchmark [-h <host>] [-p <port>] [-c <clients>] [-n <requests]> [-k <boolean>]
-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> 请求 (no pipeline)
-q 退出,仅显示 query/sec 值
--csv 以 CSV 格式输出
-l 生成循环,永久执行测试
-t <tests> 仅运行以逗号分隔的测试命令列表
-I Idle 模式,仅打开 N 个 idle 连接并等待
3、操作
以下命令在Linux环境下执行。
对127.0.0.1使用20个并行客户端,总共10万个请求
./redis-benchmark -h 127.0.0.1 -p 6379 -n 100000 -c 20 -q
使用直接命令来运行
./redis-benchmark -h 127.0.0.1 -p 6379 -n 100000 -q script load "redis.call('set','foo','bar')"
模拟100个客户端
./redis-benchmark -h 127.0.0.1 -p 6379 -c 100 -r 100000 -n 100000 -q
压测阿里云上的Redis
./redis-benchmark -h r-xxxxxxxx.redis.rds.aliyuncs.com -p 6379 -a xxxxxxx#Hq#hCD1GO$y2G6 -n 50000000 -c 200 -q