Jmeter+influxdb+grafana实战-自动压测
前提:前两章准备已齐全且操作无误
1、有个可以测试通过的线程组,修改其线程数
2、编写一个shell脚本(或CMD脚本)
(shell脚本,如需要再windows上运行,跟我一样,请安装git即可)
#!/usr/bin/env bash
# 压测脚本模板中设定的压测时间应为60秒
export jmx_template="test0928_orders" #压测jmx名称
export suffix=".jmx"
export jmx_template_filename="${jmx_template}${suffix}"
export os_type=`uname`
# 需要在系统变量中定义jmeter根目录的位置,如下
export jmeter_path="D:\download\apache-jmeter-5.1.1"
echo "自动化压测开始"
# 压测并发数列表
thread_number_array=(10 12)
for num in "${thread_number_array[@]}"
do
# 生成对应压测线程的jmx文件
export jmx_filename="${jmx_template}_${num}${suffix}"
export jtl_filename="test_${num}.jtl"
rm -f ${jmx_filename} ${jtl_filename}
cp ${jmx_template_filename} ${jmx_filename}
echo "生成jmx压测脚本 ${jmx_filename}"
if [[ "${os_type}" == "Darwin" ]]; then
sed -i "" "s/thread_num/${num}/g" ${jmx_filename}
else
sed -i "s/thread_num/${num}/g" ${jmx_filename}
fi
# JMeter 静默压测
${jmeter_path}/bin/jmeter -n -t ${jmx_filename} -l ${jtl_filename}
rm -f ${jmx_filename} ${jtl_filename}
done
echo "自动化压测全部结束"
3、运行脚本(上班时间尽量别操作公共的测试环境)
上班时间尽量别操作公共的测试环境,万一不稳定崩了多尴尬,自己启一个,或者找开发人员启一个
我屏蔽了删除生成文件的命令,可以清晰观察到效果