首页 > 其他分享 >Jmeter压测可视化监控平台

Jmeter压测可视化监控平台

时间:2023-11-29 17:46:29浏览次数:36  
标签:压测 配置 InfluxDB Grafana Listener 可视化 Jmeter Backend

许多小伙伴在使用Jmeter原生测试报告时,有以下四点困扰:

 

  1. 报告不具备实时性

  2. 报告文件的大小随着测试时间的增长而增长,而磁盘存在读写瓶颈,随时都可能崩溃。

  3. 报告中的数据是测试时间段内的平均值

  4. 报告较为冗余可读性较差。在实际测试过程中,我们一般只关心三条曲线的数据:TPS、响应时间、错误率;但在生成的结果图中,有很多无需着重关注的图。

 

性能监控平台能够有效地解决上述问题,它具备以下优势:

 

  1. 实时展示Jmeter压测数据,数据直观

  2. 数据范围可选,筛选功能强大。

  3. 界面更友好,拓展能力强。

 

本期,小编就教大家如何打造Jmeter压测可视化监控平台,随我一起往下看吧~

 


 

1 工具介绍

打造Jmeter压测可视化监控平台,需要使用Jmeter、InfluxDBGrafana三个工具,如下所示:

 

使用工具一览表

 

整体的流程原理为:Jmeter发送压力到服务器的同时,统计TPS、响应时间、线程数、错误率等信息,并配置Backend Listener,然后将统计出的结果异步发送到InfluxDB中,最后在Grafana中配置InfluxDB数据源和Jmeter显示模板,即可实时查看Jmeter的测试结果。

 

流程概览

 

介绍完工具,小编为大家逐一讲解InfluxDB、Grafana的安装方法及Jmeter、Grafana的配置方法。

 

2 Centos7安装InfluxDB

2.1 InfluxDB安装部署

软件包下载:

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.11.x86_64.rpm

 

软件包安装:

yum install -y influxdb-1.7.11.x86_64.rpm

 

InfluxDB提供两种安装方式:二进制安装rpm安装。新手推荐使用rpm包,并用yum安装,它可自动下载并安装依赖包。

 

2.2 InfluxDB配置文件修改

查看InfluxDB版本及配置文件路径,如下图所示:

 

InfluxDB版本及配置文件路径

 

修改InfluxDB的配置,配置Jmeter存储的数据库与端口号,如下图所示:

 

配置Jmeter存储的数据库与端口号

 

2.3 InfluxDB启动

启动命令为:
systemctl start influxdb.service

 

查看状态命令为: 

systemctl status influxdb.service

 

InfluxDB启动和查看状态命令及运行结果

 

查看端口命令为:
netstat –tnulp |grep influxd

 

查看端口命令及运行结果

 

3 Centos7安装Grafana

3.1 Grafana安装部署

软件包下载:
wget https://dl.grafana.com/oss/release/grafana-7.3.0~beta2-1.x86_64.rpm

 

软件包安装:

yum grafana-7.3.0~beta2-1.x86_64.rpm

 

3.2 Grafana启动

启动命令为:
systemctl start grafana-server.service

 

查看状态命令为: 

systemctl status grafana-server.service

 

Grafana启动和查看状态命令及运行结果

 

3.3 Grafana浏览器访问

登录网址:http://xxx.xx.xx.xx:3000 ,输入用户名、密码登录系统。

注:用户名与密码都是"admin"。

 

访问Grafana浏览器

 

4 Jmeter配置

4.1 添加Backend Listener

首先,需要添加监听器Backend Listener,操作路径为:右击【线程组】→【添加】→【监听器】→【后端监听器】,如下图所示:

 

Backend Listener添加操作示意

 

4.2 配置Backend Listener

 

Backend Listener配置示意

 

配置Backend Listener时,Jmeter默认选中GraphiteBackendListenerClient,配置项具体说明如下:

 

  • graphiteHost:InfluxDB安装的服务器的IP。

  • graphitePort:端口,默认为2003。

  • rootMetricsPrefix:指标的根前缀,将测试结果存入数据库时,不同指标会生成不同表。

  • summaryOnly:当线程组有多个请求且需要获取每个请求的结果数据时,选false。true只会返回所有请求的集合数据报告,不会输出每条请求的数据报告。

  • samplersList:取样器列表,填写需要收集的请求,通过正则表达式匹配,以提高工作效率。

  • useRegexpForSamplersList:是否使用正则,如果true则使用。在samplersList里可以匹配正则表达式。

  • percentiles:百分比,即类似聚合报告里90% Line、95% Line、99% Line的数据。 

 

此外,配置Backend Listener时,Jmeter也支持通过InfluxDBBackendListenerClient实现后端监听。

 

Backend Listener配置示意

 

配置项具体说明如下:

 

  • influxdbUrl:安装InfluxDB的路径,主要格式为:http://主机地址:8086/write?db=数据库名。

  • application:应用名称,在 events 表中对应的字段是 application 。

  • measurement:表名,用于存储数据,默认是jmeter。

  • summaryOnly:参数解释说明同配置GraphiteBackendListenerClient时的说明。

  • samplersRegex:参数解释说明同配置GraphiteBackendListenerClient时的说明。

  • percentiles:参数解释说明同配置GraphiteBackendListenerClient 时的说明。

  • testTitle:测试名称,在events表中对应的字段是text。Jmeter在测试的开始和结束时自动生成注释,该注释的值以'start'和'end'结尾。

  • eventTags:Grafana允许为每个注释显示标签,在events表中对应的字段是tags。

 


小知识

 

若使用 GraphiteBackendListenerClient 采集数据,当请求越来越多时,会生成大量的表,增加维护成本;而使用InfluxDBBackendListenerClient采集数据,不管请求有多少,只会生成两张表。因此,推荐使用 InfluxDBBackendListenerClient来采集数据


 

4.3 查看InfluxDB表结构

若使用 GraphiteBackendListenerClient 来采集数据,执行Jmeter测试脚本后,通过InfluxDB Studio(客户端工具)链接InfluxDB查看表结构,如下图所示:

 

InfluxDB表结构

 

Backend Listener配置了“rootMetricsPrefix” 值为“jmeter.” ,也可自定义前缀,在Backend Listener里直接修改“rootMetricsPrefix”的值即可。

 

从上图可以看到,一共生成了三种前缀的表,分别是:jmeter.all、jmeter.get、jmeter.post

 

  • jmeter.all:代表所有请求,当summaryOnly=true时,只有samplerName=all的表。

  • jmeter.get:代表HTTP请求的名字是get,即samplerName=get。

  • jmeter.post:代表HTTP请求的名字是post,即samplerName=post。

 

若使用InfluxDBBackendListenerClient来采集数据,执行Jmeter测试脚本后,通过InfluxDB Studio(客户端工具)链接InfluxDB查看表结构,如下图所示:

 

InfluxDB表结构

 

其中,“events”表用于存储事件,“jmeter”表用于存储测试结果数据,Grafana也是从这个表获取数据再展示。

 

对于InfluxDB表结构的关键指标,解释如下:

 

InfluxDB表结构指标含义

 

注:指标的具体含义详见官方文档

 

5 Grafana配置

5.1 配置数据源

首先,配置数据源,操作路径为:进入Grafana的首页→选择【Configuration】→ 点击“Add DataSource”,配置Name、URL、Database,如下图所示:

 

配置数据源示例

 

5.2 配置图形看板

接着,配置图形看板,具体操作方法见下述图解:

 

输入图表看板编号示例

配置图表看板编号示例

图表看板效果展示

 

至此, Grafana+Jmeter+Influxdb 性能实时监控平台则搭建完毕。

 

官方模板提供的看板能满足大多数要求,同时Grafana也支持图表自定义配置,可根据实际需求配置看板样式。

 

注:Grafana 官方看板地址为:https://grafana.com/grafana/dashboards/5496

 

6 划重点

  1. 通过“Grafana+Jmeter+Influxdb”搭建的性能监控平台,能够实时、直观地展示压测数据,且数据范围可选、拓展能力强

  2. 搭建性能监控平台的过程原理为:Jmeter发送压力到服务器的同时,统计TPS、响应时间、线程数、错误率等信息,并配置Backend Listener,然后将统计结果异步发送到InfluxDB中,最后在Grafana中配置InfluxDB数据源和Jmeter显示模板,即可实时查看 Jmeter的测试结果。

  3. 配置Backend Listener时,推荐使用InfluxDBBackendListenerClient来采集数据,相较于使用GraphiteBackendListenerClient,数据的维护成本较低。

 


 

#往期推荐#

 

Jmeter高阶系列——Beanshell脚本

#  Jmeter高阶系列——使用JDBC协议获取数据

 

#  一文带你熟悉Jmeter原理和结构体系

#  Jmeter高阶系列—数据参数化及使用场景

 

更多精彩内容,“码”上了解!↓


作者:shawyen

来源:金蝶云社区

原文链接:https://vip.kingdee.com/article/302366978746714880?productLineId=29&isKnowledge=2

著作权归作者所有。未经允许禁止转载,如需转载请联系作者获得授权。

标签:压测,配置,InfluxDB,Grafana,Listener,可视化,Jmeter,Backend
From: https://www.cnblogs.com/gaoyanbing/p/17865446.html

相关文章

  • Jmeter 中的公式与注意事项
    一、jmeter中的常用计算公式1.Ramp-Up时间:NumberofThreads(线程数) /Ramp-Up,表示每个请求间的间隔时间,当Ramp-Up为0时表示同时并发2.TPS=完成的事务数据/完成这些事务数所费时间(当使用了事务控制器);TPS=完成的请求数/完成这些请求数所费时间(未使用事务控制器)3.QPS= ......
  • 哪里可了解低代码数据可视化开发平台?
    如果想要提升办公协作效率,可以用什么样的平台助力实现这一目标?其实,随着市场竞争的日益加剧,低代码技术平台的应用价值也逐渐凸显出来,其可视化、易操作、灵活便利等优势特点,是很多中大型企业倾向于使用的数据可视化开发平台。想要了解低代码数据可视化开发平台的相关信息,通过这篇文......
  • jmeter压测中的集合点
    压力测试一般需要关注的点是虚拟用户数、TPS、响应时间,而为了实现这些目标必然会引入的概念是事务和集合点。本文具体描述jmeter的集合点。(lr的集合点是lr_rendezvous("");jmeter的是SynchronizingTimer) SynchronizingTimer  如上图,为“用户登录”请求添加了一个集合点:......
  • jmeter发送java请求
    本文描述jmeter如何发送java请求1.编写java请求,将加密、签名等封装,对外只暴露需要传的业务参数,jemter发送java请求时直接传入业务参数即可添加依赖:12345<dependency>    <groupId>org.apache.jmeter</groupId>    <artifactId>ApacheJMeter_java</art......
  • java 打包后jmeter使用Invalid signature file digest for Manifest main attributes
    ideal编写代码后,打包了一个jar是连关联的第三方jar一起打的用到jmeter后置处理器中报错:InvalidsignaturefiledigestforManifestmainattributes解决方案1:(手动删除文件) 通过压缩软件查看程序生成的jar包,可以看到META文件下有.SF,.DSA结尾的文件,手动删除后,再查看该......
  • r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据
    原文链接:http://tecdat.cn/?p=23825最近我们被客户要求撰写关于有限正态混合模型EM算法的研究报告,包括一些图形和统计输出。简介本文介绍了基于有限正态混合模型在r软件中的实现,用于基于模型的聚类、分类和密度估计。提供了通过EM算法对具有各种协方差结构的正态混合模型进行参......
  • Jmeter组件执行顺序与作用域
    一、Jmeter重要组件:1)配置元件---ConfigElement:用于初始化默认值和变量,以便后续采样器使用。配置元件大其作用域的初始阶段处理,配置元件仅对其所在的测试树分支有效,如,在同一个作用域的任何采样器前。2)前置处理器---PreProcessors:前置处理器会在采样器发出请求之前做......
  • 智慧农田可视化大数据综合管理平台方案,EasyCVR助力农业高质量发展
    一、背景需求我国是农业大国,农业耕地面积达到20亿亩。随着物联网、大数据、人工智能等新一代信息技术与农业农村加速融合,以及国家对农业的重视,智慧农业对于我国农业现代化建设和实施乡村振兴战略具有重大引领与推动作用。在传统农田生产中,由于缺乏有效的智慧农田管理系统,比如数据......
  • 智慧博物馆视频监控设计,可视化AI智能分析技术助力博物馆多维度监管
    一、背景与需求博物馆视频智能监控系统是智慧博物馆建设的重要组成部分,传统的博物馆视频监控系统以模拟系统架构为主,存在监管效率低、各个系统独立运作形成数据孤岛、以“事后补救”为主要监管手段等管理弊病,无法满足互联网高速发展背景下对博物馆的智能化、可视化、数字化、科学化......
  • jmeter断言
     断言是在请求的返回层面增加一层判断机制。因为请求成功了,并不代表结果一定正确,因此需要检测机制提高测试准确性。现在介绍三种常用断言。 1.响应断言在取样器上添加响应断言,如下图:  添加响应断言后,再添加一个“断言结果”。 ......