redis压测和造数据方式

一、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

wget 'http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/120287/cn_zh/1608173646665/redis-shake-v2.0.3.tar.gz'

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

相关推荐
老纪的技术唠嗑局39 分钟前
把 seekdb 塞进 iOS App:让混合检索嵌入手机
数据库
ClouGence1 小时前
开源数据库管理工具 CloudDM 新版本发布,支持 OpenSearch、IoTDB 数据源
数据库·开源
徐小黑ACG2 小时前
Redis-基础
数据库·redis·缓存
火山引擎开发者社区2 小时前
案例实践 | 让 Agent 读懂业务口径:ContextSearch 在广告数据查询中的实践
数据库
10年前端老司机3 小时前
Milvus 8种检索能力实践
数据库·python·agent
鶴哥只手遮天4 小时前
《Redis 8.10.3 深度剖析》系列 ·第 10 章 Hash 一:`listpack`、`hashtable` 与 `LISTPACK_EX`
redis·后端·开源
Decay__4 小时前
14_MySQL 高可用与容灾架构 —— MGR / InnoDB Cluster / Keepalived+VIP / 双主 / 读写分离 / 两地三中心
运维·数据库·sql·mysql·架构
freejackman4 小时前
【实战三】撕开脱敏盲区:深度解析 CASE WHEN 与窗口函数血缘
大数据·数据库·sql
codigger6 小时前
线上数据库连接池打满:从应急止损到架构根治的完整方案
数据库·sql·程序员