jmeter04-静默压测
一.什么是静默压测< /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}