一、redis 压测工具
1、压测命令
1、对3000字节的数据进行get set的操作
redis-benchmark -h 10.166.15.36 -p 7001 -t set,get -n 100000 -q -d 3000
2、100个并发连接,100000个请求,检测host为localhost 端口为6379的redis服务器性能
redis-benchmark -h 192.168.1.201 -p 6379 -c 100 -n 100000
3、测试存取大小为100字节的数据包的性能
redis-benchmark -h 192.168.1.201 -p 6379 -q -d 100
4、只测试某些操作的性能
redis-benchmark -t set,lpush -n 100000 -q
5、只测试某些数值存取的性能
redis-benchmark -n 100000 -q script load "redis.call('set','foo','bar')"
6、500M压测命令(400W个key,每个key为128字节,总数据量为500M)
redis-benchmark -h xxx -p xxx -a xxx -t set -c 100 -d 128 -n 5000000 -r 4000000
2、压测参数
-h,表示redis的地址
-p,表示redis的端口
-a,表示redis的密码
-t set,表示测试使用的命令为set
-c 100,表示使用100个并发进行测试
-d 128,表示每个key的大小为128字节(B)
-n 5000000,表示一共进行500W次请求
-r 4000000,表示压测过程中最多使用400W个key
3、-t 可选参数(数据类型比如get set)
(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为字符串
二、redis 迁移工具
1、安装 redis-shake
tar -xvzf redis-shake-v2.0.3.tar.gz -C /usr/local/
cd /usr/local
mv redis-shake-v2.0.3 redis-shake
cd redis-shake
mkdir /usr/local/redis-shake/log/
touch /usr/local/redis-shake/log/redis-shake.log
2、修改默认配置文件
vim /usr/local/redis-shake/redis-shake.conf
1)修改源端的用户名密码
source.address = 10.10.180.107:6379
source.password_raw = 123456
2)修改目标端的用户名密码
target.address = 10.10.180.30:3021
target.password_raw = 123456
默认的是单节点的迁移。
目的redis的类型,支持standalone,sentinel,cluster和proxy四种模式。
target.type = standalone
3、开始迁移
cd /usr/local/redis-shake/
./redis-shake.linux -type=sync -conf=redis-shake.conf