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参数指定压测所需要的命令,所以将给出多个命令的压测结果。
|