Redis压力测试实战

举报
别团等shy哥发育 发表于 2023/02/04 11:37:14 2023/02/04
【摘要】 1、概述  Redis一般会用在高并发场景里。在实践中,一些项目组在上线高并发的系统前会先通过redis-benchmark命令对已部署好的Redis组件进行压力测试。该压力测试的命令格式如下:redis-benchmark [option] [option value]  其中,option是参数项,option value是对应的值。该命令常用的参数项如表所示。参数名含义-h该压测命令...

1、概述

  Redis一般会用在高并发场景里。在实践中,一些项目组在上线高并发的系统前会先通过redis-benchmark命令对已部署好的Redis组件进行压力测试。该压力测试的命令格式如下:

redis-benchmark [option] [option value]

  其中,option是参数项,option value是对应的值。该命令常用的参数项如表所示。

参数名 含义
-h 该压测命令指向的服务器IP地址
-p 该压测命令指向的服务器的端口
-n 压测用到的请求数
-c 压测所用到的并发连接数
-q 强制退出Redis,显示时只给出“每秒能处理的请求数”这个值
-t 压测时运行指定的命令

2、压测实战

在运行压测命令之前,需要先确保redis容器处于Up状态。

在这里插入图片描述
  使用docker exec -it redisPublisher /bin/bash命令进入该redis容器的命令行窗口
在这里插入图片描述
运行压测命令
redis-benchmark -h 127.0.0.1 -p 6379 -t set,get -n 2000

  通过-h和-p参数指定压测指向的服务器的IP地址和端口号,通过-t参数指定压测时运行set和get命令,通过-n参数指定压测所用的请求数。

在这里插入图片描述
在这里插入图片描述
  从上面可看出2000个set请求在0.07秒内完成,2000个get在0.07秒内完成。
  从最后可看出所有的请求在2.007毫秒内完成。根据这种处理速度,每秒能处理29411.76个请求。
随后可以运行如下命令

redis-benchmark -h 127.0.0.1 -p 6379 -c 20 -n 2000 -q

  其中,通过-n参数制定了请求数为2000,通过-c参数制定了压测所用的并发数为20,-q参数指定了展示的格式。这里没有通过-t参数指定压测所需要的命令,所以将给出多个命令的压测结果。

在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。