性能测试|搭建性能监控平台

简介: 性能测试|搭建性能监控平台

1. 为什么要搭建性能监控平台?

1.1 需求背景

在用 Jmeter 获取性能测试结果的时候, Jmeter 本身带有聚合报告如下图所示:

在这里插入图片描述

这个报告有几个很明显的缺点:

  • 只能自己看,无法实时共享;
  • 报告信息的展示比较简陋单一,不直观;

1.2 需求方案

为了解决上述问题,必须要请出了 InfluxDB + Grafana

  • InfluxDB :持续型数据库,有时间戳组件,以时间的形式去存储数据
  • Grafana :一款采用 Go 语言编写的开源应用,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具

简单总结起来就是:
Jmeter 的数据导入 InfluxDB ,再用 Grafana InfluxDB 中获取数据并以特定的模板进行展示

本次实践是用目前较为流行的 Docker 的方式进行部署,也推荐使用,作为一名普通的测试,会了点 Docker 的皮毛就已经爱不释手了,对于头疼的环境问题真的太好用了,强烈推荐。

2、性能监控平台部署实践

2.1 Docker环境

本文的重点并不是介绍 Docker,所以不了解的小伙伴需要自己去学习一下基本的安装和操作。
2.2 InfluxDB部署

1)首先去下载InfluxDB的镜像,下载很简单,直接pull就好,默认为下载最新的镜像:

$ docker pull influxdb
目前最新的influxdb不支持网页端的查看,仅可用命令行的形式,不过没有什么影响,如果真的想要有网页端的显示的话可以尝试下载较前的镜像:tutum/influxdb

2)启动一个容器,并将端口 80838086 映射出来,如果用的是 tutum/influxdb 镜像,在访问8083端口时就可以看到网页端的展示,我这里用的是最新的,所以就没有啦:

$ docker run -d --name jmeter-influx -p 8083:8083 -p 8086:8086 influxdb

3)进入容器内部,创建名为jmeter的数据库:

进入 jmeter-influx 容器

$ docker exec -it jmeter-influx bash
root@517f57017d99:/#

进入 influxcreate database jmeter 创建名为 jmeter 的数据库, show databases 命令查看数据库创建成功

root@517f57017d99:/# influx
Connected to http://localhost:8086 version 1.7.10
InfluxDB shell version: 1.7.10
> create database jmeter
> show databases
name: databases
name
----
_internal
jmeter

4)使用 J meter 库, select 查看数据,这个时候应该是没有数据的:

$ > use jmeter
Using database jmeter
> select * from jmeter
>

2.3 Jmeter脚本设置

这里需要创建一个登录注册场景的 Jmeter 脚本,往期文章有发布,本次就以此来进行测试结果演示。具体可参考之前发送的公众号文章。文章末尾的「往期回顾」第二篇文章即可阅读。

1)想要将 jmeter 的测试数据导入 influxDB ,就需要在 Jmeter 中使用 Backend Listener 配置
在这里插入图片描述

先看一下配置好的 Backend Listener

在这里插入图片描述

2)主要配置说明:
implementation 选择 influxdb 所对应的:

在这里插入图片描述

  • influxdbUrl:需要改为自己 influxdb 的部署 ip 和映射端口,我这里是部署在本地,所以就是 localhost ,端口是容器启动时映射的 8086 端口, db 后面跟的是刚才创建的数据库名称

  • application:可根据需要自由定义,只是注意后面在 grafana 中选对即可
  • measurement:表名,默认是 jmeter ,也可以自定义
  • summaryOnly:选择 true 的话就只有总体的数据, false 会将每个 transaction 都分别记录

3)运行验证
运行 Jmeter 脚本,然后再次在 influxdb 中查看数据,发现类似下面的数据说明输入导入成功:

在这里插入图片描述

2.4、Grafana部署

1)首先我们需要下载grafana的镜像:

$ docker pull grafana/grafana

2)启动一个grafana容器,将3000端口映射出来:

$ docker run -d --name grafana -p 3000:3000 grafana/grafana

3)网页端访问locahost:3000验证部署成功

在这里插入图片描述

4)选择添加数据源

在这里插入图片描述

5)找到并选择 influxdb :

在这里插入图片描述

6)配置数据源

在这里插入图片描述

数据源创建成功时会有绿色的提示:

在这里插入图片描述

7)导入模板

在这里插入图片描述

模板导入分别有以下3种方式:

  • 直接输入模板id号
  • 直接上传模板json文件
  • 直接输入模板json内容

在这里插入图片描述

8)下载模板,在grafana的官网下载我们需要的展示模板

https://grafana.com/grafana/dashboards?dataSource=influxdb&search=jmeter

在这里插入图片描述

下面这两个是我尝试过的模板:

在这里插入图片描述

9)导入模板,我这里选择的是导入json文件的方式,导入后如下,配置好模板名称和对应的数据源,然后 import 即可

在这里插入图片描述

10)展示设置,首先选择我们创建的application

在这里插入图片描述

注意: 如果我们修改过表名,也就是在jmeter的Backend Listener的measurement配置(默认为jmeter),这个时候就需要去设置中进行修改(我这里使用的就是默认的,所以无需修改):

在这里插入图片描述

3. 效果展示及推荐学习

经过一系列的奋斗之后,该到了我们检验成果的时候了。使用 Docker + JMeter + InfluxDB + Grafana 到底可以搭建怎样的性能监控平台呢?相比较 JMeter 自带的监控平台,我们搭建的性能监控平台究竟有什么优势呢?接下来就是展示成果的时候啦!

在这里插入图片描述

在这里插入图片描述

Uiautomator2 源码路径:

https://github.com/appium/appium-uiautomator2-server/blob/master/app/src/main/java/io/appium/uiautomator2/handler/FindElement.java

相关文章
|
7月前
|
关系型数据库 MySQL 测试技术
【分享】AgileTC测试用例管理平台使用分享
AgileTC 是一个脑图样式测试用例管理平台,支持用例设计、执行与团队协作,帮助测试人员高效管理测试流程。
412 116
【分享】AgileTC测试用例管理平台使用分享
|
7月前
|
人工智能 数据可视化 测试技术
AI测试平台自动遍历:低代码也能玩转全链路测试
AI测试平台的自动遍历功能,通过低代码配置实现Web和App的自动化测试。用户只需提供入口链接或安装包及简单配置,即可自动完成页面结构识别、操作验证,并生成可视化报告,大幅提升测试效率,特别适用于高频迭代项目。
|
7月前
|
人工智能 测试技术 调度
写用例写到怀疑人生?AI 智能测试平台帮你一键生成!
霍格沃兹测试开发学社推出AI智能测试用例生成功能,结合需求文档一键生成高质量测试用例,大幅提升效率,减少重复劳动。支持自定义提示词、多文档分析与批量管理,助力测试人员高效完成测试设计,释放更多时间投入核心分析工作。平台已开放内测,欢迎体验!
|
7月前
|
人工智能 测试技术 项目管理
测试不再碎片化:AI智能体平台「项目资料套件」功能上线!
在实际项目中,需求文档分散、整理费时、测试遗漏等问题常困扰测试工作。霍格沃兹推出AI智能体测试平台全新功能——项目资料套件,可将多个关联文档打包管理,并一键生成测试用例,提升测试完整性与效率。支持套件创建、文档关联、编辑删除及用例生成,适用于复杂项目、版本迭代等场景,助力实现智能化测试协作,让测试更高效、更专业。
|
8月前
|
存储 人工智能 算法
AI测试平台实战:深入解析自动化评分和多模型对比评测
在AI技术迅猛发展的今天,测试工程师面临着如何高效评估大模型性能的全新挑战。本文将深入探讨AI测试平台中自动化评分与多模型对比评测的关键技术与实践方法,为测试工程师提供可落地的解决方案。
|
10月前
|
存储 测试技术 虚拟化
VMmark 4.0.3 - 虚拟化平台基准测试
VMmark 4.0.3 - 虚拟化平台基准测试
294 0
VMmark 4.0.3 - 虚拟化平台基准测试
|
7月前
|
人工智能 自然语言处理 测试技术
AI测试平台的用例管理实践:写得清晰,管得高效,执行更智能
在测试过程中,用例分散、步骤模糊、回归测试效率低等问题常困扰团队。霍格沃兹测试开发学社推出的AI测试平台,打通“用例编写—集中管理—智能执行”全流程,提升测试效率与覆盖率。平台支持标准化用例编写、统一管理操作及智能执行,助力测试团队高效协作,释放更多精力优化测试策略。目前平台已开放内测,欢迎试用体验!
|
8月前
|
存储 人工智能 文字识别
从零开始打造AI测试平台:文档解析与知识库构建详解
AI时代构建高效测试平台面临新挑战。本文聚焦AI问答系统知识库建设,重点解析文档解析关键环节,为测试工程师提供实用技术指导和测试方法论
|
8月前
|
人工智能 安全 数据可视化
安全测试平台的选型标准与搭建思路
随着企业安全需求升级,传统漏洞扫描和渗透测试已无法满足要求。构建安全测试平台(STP)成为趋势,实现漏洞扫描、权限评估、接口测试等工作的平台化运营。本文从选型标准、平台架构、模块功能等六个方面,系统讲解如何搭建企业级安全测试平台,提升安全能力。
|
11月前
|
安全 前端开发 Linux
Immunity CANVAS Professional 7.27 (macOS, Linux, Windows) - 渗透测试和漏洞利用平台
Immunity CANVAS Professional 7.27 (macOS, Linux, Windows) - 渗透测试和漏洞利用平台
308 3
Immunity CANVAS Professional 7.27 (macOS, Linux, Windows) - 渗透测试和漏洞利用平台

热门文章

最新文章

下一篇
开通oss服务