一、背景

我们很多时候在使用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..2_amd64.deb
  2. 修改配置

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

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

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

     root@qa_debug_srv01:~# influx  #登录数据库
    Connected to http://localhost:8086 version 1.6.2
    InfluxDB shell version: 1.6.
    > show databases #查看所有数据库
    name: databases
    name
    ----
    _internal
    > CREATE DATABASE "jmeter" #创建数据库
    > use jmeter #切换数据库
    Using database jmeter
    > 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. 结果示例:

jmter脚本运行结果实时监控的更多相关文章

  1. Ubuntu 14.10 下运行进程实时监控pidstat命令详解

    简介 pidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存.设备IO.任务切换.线程等.pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上 ...

  2. Linux 运行进程实时监控pidstat命令详解

    简介 pidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存.设备IO.任务切换.线程等.pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上 ...

  3. 【linux】Linux 运行进程实时监控pidstat命令详解

    简介 pidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存.设备IO.任务切换.线程等.pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上 ...

  4. shell脚本 awk实现实时监控网卡流量

    一.简介 通过第3方工具获得网卡流量,这个大家一定很清楚.其实通过脚本一样可以实现效果.下面是我个人工作中整理的数据.以下是shell脚本统计网卡流量. 现原理: cat /proc/net/dev ...

  5. linux运行进程实时监控pidstat详解

  6. katalon系列十六:代码运行时实时创建元素对象或列表

    Katalon的常规方法是先抓取元素并保存到仓库,在脚本中需要用到的时候调取,但假如元素属性和个数是可变的,就不能事先保存到仓库了,需要在脚本运行时实时创建. 代码运行时实时创建一个元素对象的例子im ...

  7. 关于nagios系统下使用shell脚本自定义监控插件的编写以及没有实时监控图的问题

    关于nagios系统下shell自定义监控插件的编写.脚本规范以及没有实时监控图的问题的解决办法 在自已编写监控插件之前我们首先需要对nagios监控原理有一定的了解 Nagios的功能是监控服务和主 ...

  8. linux 实时监控网速脚本(转)

    #!/bin/bash ethn=$ while true do RX_pre=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{pri ...

  9. Tomcat集群 Nginx负载均衡 shell脚本实时监控Nginx

    第一步,安装Tomcat 系统环境:Centos7 第1步:下载tomcat安装包 tomcat官网:https://tomcat.apache.org/ 第2步:安装包上传至linux中 第3步:下 ...

随机推荐

  1. 安装-consul服务发现集群

    centos 7.4.x consul  1.2.2 list: 172.16.16.103 172.16.16.112 172.16.16.115 下载: #cd /usr/local/ #wget ...

  2. FPGA硬件加速

    FPGA市场占有率最高的两大公司Xilinx和Altera. 查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM.目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成 ...

  3. 【06月18日】A股滚动市净率PB历史新低排名

    2010年01月01日 到 2019年06月18日 之间,滚动市净率历史新低排名. 上市三年以上的公司,2019年06月18日市净率在30以下的公司. 来源:A股滚动市净率(PB)历史新低排名. 1 ...

  4. c# winform button文字偏了

    winform button文字偏了,解决方案来自 疯狂青蛙: http://www.cnblogs.com/cadlife 要用这个属性

  5. activiti学习7:spring和activiti进行整合

    目录 activiti学习7:spring和activiti进行整合 一.整合原理 二.整合步骤 2.1 新建一个maven工程并导入相关依赖 2.2 创建spring配置文件 三.测试 activi ...

  6. Elasticsearch 7.1.1 安装 pinyin 分词器插件

    1.安装maven 安装插件前,需要用 maven 进行编译生成插件包,第一步先安装 maven yum install -y maven mvn -version Apache Maven (Red ...

  7. centos 7 下 rabbitmq 3.8.0 & erlang 22.1 源码编译安装

    centos 7 下 rabbitmq 3.8.0 & erlang 22.1 源码编译安装 安装前请检查好erlang和rabbitmq版本是否相匹配参考:RabbitMQ Erlang V ...

  8. [转帖]String、StringBuilder与StringBuffer

    String.StringBuilder与StringBuffer https://www.jianshu.com/p/37f3799bdb56 1.String String本质 String是不可 ...

  9. Linux下查看.so和可执行文件是否debug编译

    如何判断一个.so是否是debug编译的? 如果用此方法:用file来查看一个.so, 根据是否包含”not stripped”来判断该.so是否是debug编译的.然而stripped/not st ...

  10. poi根据excel模板导出Excel

    /****单元格值对象**/public class Cells { /*** * 行 */ private int row; /** * 列 */ private int column; /** * ...