• jmeter静默压测+可视化


    静默压测自动化脚本auto_stress_test.sh

    #!/usr/bin/env bash
    export jmx_template="test2"
    export suffix=".jmx"
    export jmx_template_filename="${jmx_template}${suffix}"
    export os_type=`uname`
    
    # 需要在系统变量中定义jmeter根目录的位置,如下
    #export jmeter_path=/usr/local/jmeter/apache-jmeter-5.2
    
    # 清空nohup.out
    cat /dev/null > nohup.out
    
    # 强制杀掉JMeter进程
    killJMeter()
    {
        pid=`ps -ef|grep jmeter|grep java|grep ${jmx_filename}|awk '{print $2}'`
        echo "jmeter Id list :$pid"
        if [[ "$pid" = "" ]]
        then
          echo "no jmeter pid alive"
        else
          kill -9 $pid
        fi
    }
    
    thread_number_array=(100 200 300)
    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 静默压测
        nohup ${jmeter_path}/bin/jmeter -n -t ${jmx_filename} -l ${jtl_filename} &
        sleep 30
        killJMeter
        rm -f ${jmx_filename}
    done
    echo "自动化压测全部结束"
    
    
    

    jmeter脚本test2.jmx必须和auto_stress_test.sh脚本在同一个文件夹下

    docker 安装influxdb

    启动influxdb
    docker run -d -p 8086:8086 -p 8083:8083 --name=jmeterdb influxdb
    
    进入influxdb容器
    docker exec -it jmeterdb bash
    
    进入influxdb输入
    influx
    
    创建数据库,名称为:jmeter
    create database jmeter;
    
    进入创建的数据库
    use jmeter
    

    添加Backend LIstener

    Backend LIstener配置连接influxdb

    influxdbUrl:http://119.3.89.184:8086/write?db=jmeter
    119.3.89.184为你的ip
    db:上面创建的influxdb的数据库名称
    
    application:可以自己起名
    

    搭建grafana

    docker run -d -p 3000:3000 --name=jmeterGraf grafana/grafana
    初始用户名:admin
    密码:admin
    





    压测后

    导入模板的json文件
    链接:https://pan.baidu.com/s/1lUGR-kMbk4hhNNKU7udzdQ 密码:hdz9

  • 相关阅读:
    ubuntu 12.04 安装phpUnit
    composer 安装 ubuntu 12.04
    初学 Phreeze 4
    curl模拟文件post提交
    Phreeze Criteria的应用,在两个表里面查找多个符合条件的数据
    ubuntu 12.04 安装vim
    初学Phreeze 5 excel 表格,自动生成文件
    初学Phreeze 6,reporter文件
    //让程序在后台运行,即使关闭终端 仍可运行
    phpopenid中创建多级目录的方法
  • 原文地址:https://www.cnblogs.com/an5456/p/12643669.html
Copyright © 2020-2023  润新知