工具
使用redis自带的redis-benchmark,具体用法如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| # ./redis-benchmark --help Usage: redis-benchmark [-h <host>] [-p <port>] [-c <clients>] [-n <requests]> [-k <boolean>] -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 通过管道传输 <numreq> 请求 1 -q 强制退出 redis。仅显示 query/sec 值 --csv 以 CSV 格式输出 -l 生成循环,永久执行测试 -t 仅运行以逗号分隔的测试命令列表。 -I Idle 模式。仅打开 N 个 idle 连接并等待。
|
测试命令
1 2
| #仅测试get和set,1000并发,75000次请求,25680字节,以csv格式输出 ./redis-benchmark -a mypass -c 1000 -n 75000 -d 25680 -t set,get -q
|
测试结果
GET请求QPS和并发的关系
SET请求QPS和并发的关系
测试相关环境
- 数据大小 25680,这是运营1年多线上项目1服游戏玩家的数据平均大小
- 一台redis服务器机,一台redis测试机,处于局域网,16核,32G内存。
- redis使用默认配置