一.什么是静默压测< /span >
通常在进行调试jmeter的时候我们都在使用jmeter的ui界面进行调试,在实际进行压测的时候ui界面必定会影响性能结果,那么静默压测也就是脱离ui在服务器上进行运作的一种方式
二.怎么进行静默压测
1.首先我们要准备一个jmx的脚本,查看脚本发现都是一个xml文件,接着为了控制线程数量我们需要对jmx脚本进行参数的提前设置,如红框中我们需要动态更改线程数量

二.创建shell脚本编写自动化压测程序,通过提前定义数组控制线程,使用sed命令进行文本替换
${jmeter_path}/bin/jmeter -n -t ${jmx_filename} -l ${jtl_filename}静默压测的脚本
thread_number_array=(10 20 )
for num in "${thread_number_array[@]}"
do
# 生成对应压测线程的jmx文件
export jmx_filename= "${jmx_template}_${num}${suffix}"
export jtl_filename= "test_${num}.jtl"
export web_report_filename= "web_${num}"
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
mkdir ${web_report_filename}
# JMeter 静默压测
# nohup ${jmeter_path}/bin/jmeter -n -t ${jmx_filename} -l ${jtl_filename} &
# sleep 65
${jmeter_path} /bin/jmeter -n -t ${jmx_filename} -l ${jtl_filename}
sleep 65
${jmeter_path} /bin/jmeter -g ${jtl_filename} -e -o ${web_report_filename}
killJMeter
rm -f ${jmx_filename}
done
echo "自动化压测全部结束"
三.jmeter自带生成测试报告
通过以下命令可生成index.html的测试报告${jtl_filename} 为运行完毕的jtl文件,${web_report_filename}是需要保存到哪个文件夹中
${jmeter_path} /bin/jmeter -g ${jtl_filename} -e -o ${web_report_filename}

原创文章,作者:745907710,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/274834.html