天天看点

Redis压力测试实战1、概述2、压测实战

文章目录

  • 1、概述
  • 2、压测实战

1、概述

  Redis一般会用在高并发场景里。在实践中,一些项目组在上线高并发的系统前会先通过

redis-benchmark

命令对已部署好的Redis组件进行压力测试。该压力测试的命令格式如下:

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

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

2、压测实战

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

Redis压力测试实战1、概述2、压测实战

  使用

docker exec -it redisPublisher /bin/bash

命令进入该redis容器的命令行窗口

Redis压力测试实战1、概述2、压测实战

运行压测命令

redis-benchmark -h 127.0.0.1 -p 6379 -t set,get -n 2000

  通过-h和-p参数指定压测指向的服务器的IP地址和端口号,通过-t参数指定压测时运行set和get命令,通过-n参数指定压测所用的请求数。
Redis压力测试实战1、概述2、压测实战
Redis压力测试实战1、概述2、压测实战

  从上面可看出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参数指定压测所需要的命令,所以将给出多个命令的压测结果。
Redis压力测试实战1、概述2、压测实战