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}

posted @ 2022-07-16 15:19  SH金刚狼  阅读(186)  评论(0编辑  收藏  举报