• jmeter脚本运行结果实时监控


    一、背景

    我们很多时候在使用JMeter做性能测试,我们很难及时察看压测过程中应用的性能状况,总是需要等到测试完成后去看Report

    二、解决方案

    JMeter引入Backend Listener,用于在压测过程中实时发送统计指标数据给时序数据库Influxdb,通过配置Grafana(开源的WEB可视化看板)数据源连接到Influxdb,我们就可以实时获取到测试指标数据。

    三、工具安装部署

    influxdb

    1. 下载与安装 

      #184机器是ubuntu系统所以采用的是deb的包安装方式
      #wget https://dl.influxdata.com/influxdb/releases/influxdb_1.6.2_amd64.deb
      #sudo dpkg -i influxdb_1.6.2_amd64.deb
    2. 修改配置 

       1 #Jmeter使用graphite协议去写入数据到InfluxDB,因此,需要在InfluxDB配置文件启用它,如下
       2 vi /etc/influxdb/influxdb.conf
       3  
       4 #修改以下配置
       5 [[graphite]]
       6  enabled = true
       7  bind-address = ":2003"
       8  database = "jmeter"
       9  retention-policy = ""
      10  protocol = "tcp"
      11  batch-size = 5000
      12  batch-pending = 10
      13  batch-timeout = "1s"
      14  consistency-level = "one"
      15  separator = "."
      16  udp-read-buffer = 0
    3. 设置环境变量

      1 vi ~/.bashrc
      2  
      3 #增加环境变量配置
      4 export INFLUXDB_CONFIG_PATH="/etc/influxdb/influxdb.conf"
    4. 启动influxdb服务

      1 #以服务模式启动 | 这种方式启动还不行,得需要再看下
      2 service influxdb start
      3  
      4  
      5 #以非服务模式启动
      6 influxd -config /etc/influxdb/influxdb.conf
    5. 初始化db数据

       1 root@qa_debug_srv01:~# influx  #登录数据库
       2 Connected to http://localhost:8086 version 1.6.2
       3 InfluxDB shell version: 1.6.2
       4 > show databases  #查看所有数据库
       5 name: databases
       6 name
       7 ----
       8 _internal
       9 > CREATE DATABASE "jmeter" #创建数据库
      10 > use jmeter               #切换数据库
      11 Using database jmeter
      12 > CREATE USER "admin" WITH PASSWORD 'admin' WITH ALL PRIVILEGES # 创建管理员权限的用户
    6. 端口说明

      • 8086端口,Grafana用来从数据库取数据的端口
      • 2003端口,JMeter往数据库发数据的端口
    7. 其他说明

      因influxdb1.2版本以后均没有了web界面,web界面操作频率很低,故没有再去找web界面解决方法

    graphna

    1. 安装与启动

      wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_4.5.2_amd64.deb
      sudo dpkg -i grafana_4.5.2_amd64.deb
       
       
      #启动
      sudo service grafana-server start
      

        

    四、访问地址

    http://10.1.9.184:3001/login用户名:admin
    密码:ganlezheyibei

    五、jmeter配置

    线程中添加一个监听器 Backend Listener

    parameter配置

    influxdbMetricsSender org.apache.jmeter.visualizers.backend.influxdb.HttpMetricsSender
    influxdbUrl http://10.1.9.184:8086/write?db=jmeter
    application mtl_orderGivenShow
    measurement jmeter
    summaryOnly false
    samplersRegex ^[^#_].*
    percentiles 50;90;95;99
    testTitle mtl_orderGivenShow

    application和testTitle可以自己命名,针对于在grafna上找到对应的名称查看结果

    六、操作方法

      1. jmeter  Backend Listener 的 parameter 配置中,配置好自己的application名称,运行压测
      2. 登录graphna进入默认的dashboard

      3. 选择你设置的application名称则就可以看到实时的jmeter运行结果

      4. 结果示例:

  • 相关阅读:
    实现微信朋友圈点击评论按钮时cell上移
    UITableView的横向使用
    用Xcode6的Leaks检测内存泄漏
    IOS8设备连接XCODE6真机调试报错"Could not inspect the application package"
    Implicit declaration of function 'ether_ntoa' is invalid in C99
    .xcodeprok cannot be opened because the project file cannot be parsed
    根据图片的链接获取图片的宽高
    关于UIWebView设置高度自适应的问题
    reason: 'data parameter is nil'
    CSS图标文字对齐和表单输入框文字对齐兼容
  • 原文地址:https://www.cnblogs.com/qianjinyan/p/12067257.html
Copyright © 2020-2023  润新知