Redis压测工具redis-benchmark

释放双眼,带上耳机,听听看~!
Redis自带了一个叫redis-benchmark的工具来模拟N个客户端同时发出M个请求,并且可以压测数据的get、set类型以及对应的值的字节大小。对于我们后续对redis可以有更深入的压测

redis-benchmark 压测参数

参数 参数说明
-h redis 连接地址
-p redis端口号,不写默认为6379,tls默认为6479
-a redis 实例的用户账号密码,无密码时可不写。如果是default账号,直接写<paasword>即可。如果是新创建的账号,则填写<user>:<password>
-n 测试的总请求数,可设置较大的值以持续压测
-r 随机使用key数量,即使用多少个不同Key
-c 并发的客户端连接数
-d SET或GEt所操作的值的结果大小,单位为字节(Byte)
-t 需要执行的测试命令,如SET、GET
--threads 启动多线程压测,并指定线程个数
--cluster 启动集群模式压测,测试整个redis cluster
--tls 启用安全TLS连接
--cert 用于进行身份验证的客户端证书
--key 用于进行身份验证的私钥文件
--cacert 用于验证的CA证书文件

redis-benchmark 测试指标

指标 说明
QPS 表示每秒处理的操作数,单位为次(秒)

安装redis-benchmark工具

[root@k8s-02 opt]# wget https://download.redis.io/releases/redis-6.2.5.tar.gz
[root@k8s-02 redis-6.2.5]# tar xf redis-6.2.5.tar.gz && cd redis-6.2.5
[root@k8s-02 redis-6.2.5]# make && make install

安装完成后在src目录下生成redis-benchmark二进制

Redis压测工具redis-benchmark

redis-benchmark 常见压测案例

这里我们已经创建好redis-cluster,我们在k8s节点上直接执行,进行压测工作

[root@k8s-01 ~]# kubectl get svc -n redis
NAME                            TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)              AGE
redis-cluster                   ClusterIP   10.96.64.112    <none>        6379/TCP             49d

具体压测数据 10GB测试数据,set 1024字节数据,启动32个线程、512连接、100000个key的取值范围

[root@k8s-node2 redis-6.2.5]# ./src/redis-benchmark -h 10.96.64.112  -p 6379 -n 10000000 -r 100000  -c 512 -t set -d  1024 --threads 32 --cluster  -a redis123
Cluster has 3 master nodes:

Master 0: 35af7e1463aec91be23dec0266682ac0b52da262 10.244.1.12:6379
Master 1: f5039b4035bbc66f0562efdd2e91bc4a28064d4f 10.244.1.10:6379
Master 2: 14813ef24b9f5ca34151ed6eaad21af1f885d6c9 10.244.2.109:6379

SET: rps=90000.0 (overall: 36413.7) avg_msec=7.698 (overall: 13.670))6))

...
#因为我这里是E5服务器,我们等待压测完毕即可
#上面的相关参数可以参考上面的参数表,这里不再过多解释

在压测过程中,我们可以明显的看到redis-cluster使用资源的占用情况

Kubernetes Helm快速部署Redis Cluster & Redisinsight

我这里没有配置redis-cluster pod资源限制,所以redis-cluster pod是动态扩容的方式

Redis压测工具redis-benchmark

压测结果如下

根据图中压测结果,我们可以判断我们redis-cluster集群QPS(每秒请求)数值大概为29350.30

QPS详解: QPS即每秒查询率,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。QPS = req/sec = 请求数/秒,即每秒的响应请求数,也即是最大吞吐能力

Redis压测工具redis-benchmark

给TA打赏
共{{data.count}}人
人已打赏
KubernetesWordPress

k8s Kubernetes Frp 内网WordPress穿透配置

2023-8-13 1:38:54

APISIXDockerKubernetes

Docker快速部署APISIX代替Nginx

2023-9-14 16:37:46

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索