jmter脚本运行结果实时监控
一、背景
我们很多时候在使用JMeter做性能测试,我们很难及时察看压测过程中应用的性能状况,总是需要等到测试完成后去看Report
二、解决方案
JMeter引入Backend Listener,用于在压测过程中实时发送统计指标数据给时序数据库Influxdb,通过配置Grafana(开源的WEB可视化看板)数据源连接到Influxdb,我们就可以实时获取到测试指标数据。
三、工具安装部署
influxdb
下载与安装
#184机器是ubuntu系统所以采用的是deb的包安装方式
#wget https://dl.influxdata.com/influxdb/releases/influxdb_1.6.2_amd64.deb
#sudo dpkg -i influxdb_1..2_amd64.deb修改配置
#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 =设置环境变量
vi ~/.bashrc #增加环境变量配置
export INFLUXDB_CONFIG_PATH="/etc/influxdb/influxdb.conf"启动influxdb服务
#以服务模式启动 | 这种方式启动还不行,得需要再看下
service influxdb start #以非服务模式启动
influxd -config /etc/influxdb/influxdb.conf初始化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 # 创建管理员权限的用户端口说明
- 8086端口,Grafana用来从数据库取数据的端口
- 2003端口,JMeter往数据库发数据的端口
其他说明
因influxdb1.2版本以后均没有了web界面,web界面操作频率很低,故没有再去找web界面解决方法
graphna
安装与启动
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上找到对应的名称查看结果
六、操作方法
- jmeter Backend Listener 的 parameter 配置中,配置好自己的application名称,运行压测
- 登录graphna进入默认的dashboard

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

结果示例:

jmter脚本运行结果实时监控的更多相关文章
- Ubuntu 14.10 下运行进程实时监控pidstat命令详解
简介 pidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存.设备IO.任务切换.线程等.pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上 ...
- Linux 运行进程实时监控pidstat命令详解
简介 pidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存.设备IO.任务切换.线程等.pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上 ...
- 【linux】Linux 运行进程实时监控pidstat命令详解
简介 pidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存.设备IO.任务切换.线程等.pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上 ...
- shell脚本 awk实现实时监控网卡流量
一.简介 通过第3方工具获得网卡流量,这个大家一定很清楚.其实通过脚本一样可以实现效果.下面是我个人工作中整理的数据.以下是shell脚本统计网卡流量. 现原理: cat /proc/net/dev ...
- linux运行进程实时监控pidstat详解
- katalon系列十六:代码运行时实时创建元素对象或列表
Katalon的常规方法是先抓取元素并保存到仓库,在脚本中需要用到的时候调取,但假如元素属性和个数是可变的,就不能事先保存到仓库了,需要在脚本运行时实时创建. 代码运行时实时创建一个元素对象的例子im ...
- 关于nagios系统下使用shell脚本自定义监控插件的编写以及没有实时监控图的问题
关于nagios系统下shell自定义监控插件的编写.脚本规范以及没有实时监控图的问题的解决办法 在自已编写监控插件之前我们首先需要对nagios监控原理有一定的了解 Nagios的功能是监控服务和主 ...
- linux 实时监控网速脚本(转)
#!/bin/bash ethn=$ while true do RX_pre=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{pri ...
- Tomcat集群 Nginx负载均衡 shell脚本实时监控Nginx
第一步,安装Tomcat 系统环境:Centos7 第1步:下载tomcat安装包 tomcat官网:https://tomcat.apache.org/ 第2步:安装包上传至linux中 第3步:下 ...
随机推荐
- js 测试题
//身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字母x function isCardNo(card) { }$)|(^\d{}(\d|X|x) ...
- git: hook 修改提交信息
git获取数字顺序版本号 因为git的版本使用的是hash值,不能很直观的看出那个版本,所以想找到一种方法,获取顺序的版本号,在网上找到了方法,可以获取顺序版本号 摘自:[使用bash从SVN和Git ...
- Yarn和Zookeeper的区别
Yarn:分布式资源管理器 Zookeeper:分布式协作服务 Zookeeper是一个分布式协调服务(Coordination),一个leader,多个follower组成的集群,就是为用户的分布式 ...
- HDFS命令行及JAVA API操作
查看进程 jps 访问hdfs: hadoop-root:50070 hdfs bash命令: hdfs dfs <1> -help: 显示命令的帮助的信息 <2> - ...
- Android.mk基础
1.前言 Android.mk用于向编译系统描述源文件和共享库,它实际上是编译系统解析一次或多次的微小GNU makefile片段.它的语法支持将源文件分组为模块,模块是静态库.共享库或独立的可执行文 ...
- Java8实战及自己的总结
java8 介绍 java8是2014年3月份,由Oracle发布的一个版本,又称之为jdk1.8,是现再我们在学习和工作中用的最多的一个版本. 在jdk1.8中,java8以添加非常多的新特性, ...
- Redis GEO地理位置信息,查看附近的人
在之前的一篇文章<SpringBoot入门教程(五)Java基于MySQL实现附近的人>,我们介绍了Java基于MySQL实现查找附近的人的功能.今天就来研究研究"查找附近的人& ...
- Lua table的remove函数
[1]remove函数简介 table.remove(table, pos): 返回table数组中位于pos位置的元素,其后的元素会被前移. pos参数可选, 默认为table长度, 即从最后一个元 ...
- 认清楚服务器的真正身份--深入ARP工作原理
我们知道IP地址是ISP分配给我们的,IP不能作为服务器的唯一的身份,那么服务器真正的身份是什么呢?MAC IP地址直接的通信在底层要转换到MAC直接的通信,那他们如何通信的呢? 1.简介 出场人物: ...
- React 根据条件自动计算
1.输入框 <Item {...formItemProps} label="留房日期"> {getFieldDecorator('date', { rules: [{ ...