电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

Jmeter压测可视化监控平台

来源:金蝶云社区作者:金蝶2024-09-235

Jmeter压测可视化监控平台


许多小伙伴在使用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'和'

Jmeter压测可视化监控平台

许多小伙伴在使用Jmeter原生测试报告时,有以下四点困扰:报告不具备实时性。报告文件的大小随着测试时间的增长而增长,而磁盘存在读写瓶颈...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信