测试性能
- 执行以下命令进行环境基线配置。
1 2 3 4 5 6 7 8
systemctl stop firewalld.service systemctl disable firewalld.service sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux setenforce 0 systemctl stop irqbalance.service systemctl disable irqbalance.service swapoff -a systemctl start irqbalance
以下三条命令分开执行:
1sed -i "s/CleanupModulesOnExit=no/CleanupModulesOnExit=yes/g" /etc/firewalld/*.conf
1systemctl restart firewalld
1systemctl stop firewalld
- 在Server端环境分别进入4个Docker容器,每个Docker容器上启动一个网络异步优化后的redis-server实例,共起4个网络异步优化后的redis-server实例。
1 2 3
docker exec -it {容器名} bash cd path/redis-7.0.15 ./src/redis-server ./redis.conf --bind 0.0.0.0 --port 6379
- 在Client端环境进入Redis目录,准备压测脚本,可参考以下脚本内容并按实际情况修改相应参数。
#!/bin/bash REDIS_PATH="xxx1" # Redis所在目录 REDIS_PORT=6379 REDIS_SERVER_IP_PREFIX="192.168.xx" redis_server_ip_suffix=128 # server端起始IP地址后缀 instances=4 # 实例数 client=200 #-c参数 size=3 # -d参数,默认3 # 关闭redis-benchmark进程,清空测试数据日志 pkill redis-benchmark DATA_LOG="xxx2" # 性能数据结果存放目录 mkdir -p $DATA_LOG rm -rf ${DATA_LOG}/* # 在Client端进行redis-benchmark压测 job_ids="" for (( instance=1; instance<=instances; instance++ )); do REDIS_SERVER_IP="${REDIS_SERVER_IP_PREFIX}.${redis_server_ip_suffix}" echo "Running redis-benchmark on ${REDIS_SERVER_IP}:$REDIS_PORT" echo "${REDIS_PATH}/src/redis-benchmark -h ${REDIS_SERVER_IP} -p $REDIS_PORT" ${REDIS_PATH}/src/redis-benchmark -h ${REDIS_SERVER_IP} -p $REDIS_PORT -c $client -d $size -n 10000000 -r 10000000 -t set,get --threads 20 -q >> ${DATA_LOG}/${instances}_c${client}_d${size}_${REDIS_SERVER_IP}_${REDIS_PORT}.log & job_ids="$job_ids $!" ((redis_server_ip_suffix++)) done # 等待 redis-benchmark 执行完毕 echo "Waiting for the $instances jobs: SET, GET" wait $job_ids - 执行压测脚本同时对四个实例进行redis-benchmark压测。
性能结果会记录在规定路径DATA_LOG下,用cat ./*命令查看,取四个实例的平均值为四实例性能。
- 在所有测试结束后,请参见取消Bond4进行Bond4的取消。
父主题: 验证特性