一、性能测试
Redis-benchmark是官方自带的Redis性能测试工具,可以有效的测试Redis服务的性能。redis做压测可以用自带的redis-benchmark工具。
二、压测命令
redis-benchmark -h 127.0.0.1 -p 6379 -c 50 -n 10000
序号 | 选项 | 描述 | 默认值 |
---|---|---|---|
1 | -h | 指定服务器主机名 | 127.0.0.1 |
2 | -p | 指定服务器端口 | 6379 |
3 | -s | 指定服务器 socket | |
4 | -c | 指定并发连接数 | 50 |
5 | -n | 指定请求数 | 10000 |
6 | -d | 以字节的形式指定 SET/GET 值的数据大小 | 2 |
7 | -k | 1=keep alive 0=reconnect | 1 |
8 | -r | SET/GET/INCR 使用随机 key, SADD 使用随机值 | |
9 | -P | 通过管道传输 <numreq> 请求 | 1 |
10 | -q | 强制退出 redis。仅显示 query/sec 值 | |
11 | --csv | 以 CSV 格式输出 | |
12 | -l | 生成循环,永久执行测试 | |
13 | -t | 仅运行以逗号分隔的测试命令列表。 | |
14 | -I | Idle 模式。仅打开 N 个 idle 连接并等待。 |
二、测试示例
1、redis-benchmark -h 192.168.1.201 -p 6379 -c 100 -n 100000
100个并发连接,100000个请求,检测host为localhost 端口为6379的redis服务器性能
2、redis-benchmark -h 192.168.1.201 -p 6379 -q -d 100
测试存取大小为100字节的数据包的性能
3、redis-benchmark -t set,lpush -n 100000 -q
只测试某些操作的性能
4、redis-benchmark -n 100000 -q script load "redis.call('set','foo','bar')"
只测试某些数值存取的性能
三、测试如下命令:
(1) PING_INLINE
(2) PING_BULK
(3) SET:将字符串值value关联到key;
(4) GET:返回key所关联的字符串值,如果key存储的值不是字符串类型,返回一个错误;
(5) INCR:将key中存储的数字值增一。不能转换为数字则报错;
(6) LPUSH:将一个或多个值value插入到列表key的表头;
(7) RPUSH:将一个或多个值value插入到列表key的表尾;
(8) LPOP:移除并返回列表key的头元素;
(9) RPOP:移除并返回列表key的尾元素;
(10) SADD:将一个或多个member元素加入到集合set当中,已经存在于集合的member元素将被忽略;
(11) SPOP:移除并返回集合中的一个随机元素;
(12) LPUSH:将一个或多个value插入到列表key的表头;
(13) LRANGE_100:返回列表key中指定区间内的元素,前100条元素;
(14) LRANGE_300:返回列表key中指定区间内的元素,前300条元素;
(15) LRANGE_500:返回列表key中指定区间内的元素,前500条元素;
(16) LRANGE_600:返回列表key中指定区间内的元素,前600条元素;
(17) MSET:同时设置一个或多个key-value对,value为字符串。