0 测试指标
测试指标 | 含义 |
QPS | 每秒处理的读写操作数,单位为次/秒。 |
Latency | 操作时延,单位为毫秒(ms)。 |
1 环境准备
创建两台相同配置 ECS, 其中一台作为server,另一台作为client
规格:s7.xlarge.2
镜像:centos 8.2
2 redis 安装
1 分别在两台ECS上安装redis
wget https://download.redis.io/releases/redis-7.0.0.tar.gz
tar xzf redis-7.0.0.tar.gz
cd redis-7.0.0&&make
mv redis-7.0.0 redis
2 在server端配置 redis.conf,位置$install_path/redis/redis.conf
bind 0.0.0.0 -::1
protected-mode yes
daemonize yes
requirepass ****
3 执行如下脚本启动redis server
bin_path=/root/redis
ps -ef |grep redis-server |grep -v grep |awk '{print $2}' |xargs kill -9
cd $bin_path/src
./redis-server $bin_path/redis.conf
3 压测
在client 端执行如下脚本,进行压测
install_path= /root/redis/
n_cpu=$(getconf _NPROCESSORS_CONF)
cd $install_path/src
server_ip=10.2.0.3
passwd=*****
connections=${1:-100}
data_size=${2:-16}
data_type=${3:-get}
reqs=${4:-30000}
reqs_range=${5:-3000000}
other=$6
./redis-benchmark -h $server_ip -p 6379 -a $passwd -n $reqs -c $connections -d $data_size -r $reqs_range --threads $n_cpu -t $data_type $other
参数说明
-h server端redis 服务ip地址。
-p server端redis服务端口,默认为6379。
-a server端redis密码。
-c 并发的连接数量。
-n 测试的总请求数量
-t 测试的命令,例如set、get、sadd、spop等。
-d 命令(SET等)所操作的值的数据大小,单位为字节(Byte)。
-r 使用的Key的随机范围,即使用多少个不同Key。
--threads 定线程个数。
1)string 类型数据读写
2) list 类型数据读写
3) set 类型数据读写
4)hash 类型数据读