Jmeter + Grafana搭建自动化实时监控可视化

Jmeter+influxdb+grafana实战-自动压测

    • 1、有个可以测试通过的线程组,修改其线程数
    • 2、编写一个shell脚本(或CMD脚本)
    • 3、运行脚本(上班时间尽量别操作公共的测试环境)
    • 4、grafana-web页面设置自动刷新时间坐等效果就好了

前提:前两章准备已齐全且操作无误

1、有个可以测试通过的线程组,修改其线程数

Jmeter + Grafana搭建自动化实时监控可视化_第1张图片

2、编写一个shell脚本(或CMD脚本)

(shell脚本,如需要再windows上运行,跟我一样,请安装git即可)Jmeter + Grafana搭建自动化实时监控可视化_第2张图片

#!/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、运行脚本(上班时间尽量别操作公共的测试环境)

上班时间尽量别操作公共的测试环境,万一不稳定崩了多尴尬,自己启一个,或者找开发人员启一个

我屏蔽了删除生成文件的命令,可以清晰观察到效果
Jmeter + Grafana搭建自动化实时监控可视化_第3张图片

4、grafana-web页面设置自动刷新时间坐等效果就好了

Jmeter + Grafana搭建自动化实时监控可视化_第4张图片

你可能感兴趣的:(性能测试,压力测试,压力测试)