• 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

  • 相关阅读:
    Graph neural networks: A review of methods and applications文献阅读
    IMBD数据集处理
    GNN知识整理(二)
    GNN认识整理(一)
    Linux中python中的#!/usr/bin/python
    Linux下运行g++
    itextpdf7自写算法的表格展示 制表符
    itext7 List序号 有序列表 解决中文不显示
    java使用itextpdf7实现导出pdf表格;java使用itextpdf7实现pdf加水印
    csv导出导入工具类 commons-csv导出
  • 原文地址:https://www.cnblogs.com/an5456/p/12643669.html
Copyright © 2020-2023  润新知