性能测试监控工具jmeter+grafana

1、什么是性能测试监控体系?
为什么要有监控体系?
原因
1、项目-日益复杂(内部除了代码外,还有中间件,数据库)
2、一个系统,背后可能有多个软/硬件组合支撑,影响性能的因素可能是任意一个组件,如果仅仅是通过TPS、RT、吞吐量这些单个目标去分析,会占用大量的时间,所以我们需要用到监控体系

影响性能的因素有很多,我们可以从以下几个层面去分析:
网络问题:带宽是否足够,分析有没有丢包
服务层问题:TPS、RT、错误率、异常、垃圾回收
中间件问题:超时、线程池、缓存命中、消息积压
数据库层面:锁、索引、慢SQL
服务器层面:CPU、内存、磁盘

以上影响因素中服务层问题是最能反应问题所在,因为:服务层问题:反应的是当前负载下性能表现,这是结果
但是为什么是这个数据?哪些东西影响了他?怎么优化?这才性能测试的价值所在

测试手法:通过基准测试+负载测试,看到对应结果
核心概念任何一个环节有性能问题,这个程序一定有性能问题

如果我们需要详细点去分析问题可能还需要将上面例举点影响因素全部分析一遍,这会花费大量的时间且用到大量的插件这时我们需要需要一个工具能把基础监控、指标监控、业务监控、链路监控都放在一起去供我们查看––––grafana
grafana:负责展示测试数据,能支持长时间的测试

2、监控体系的面板数据是怎么来的?
jmeter配置后端监听器,把jmeter数据提交到InfluxDB时序数据库进行数据库保存再传给grafana展示
(这四个端都是独立的)
在这里插入图片描述
tips:如果当grafana没有显示图表时怎么分析问题?
答:influxDB配置是否有问题——>jmeter是否有误(一级一级向上排查)

3、怎么去搭建监控?
首先准备好grafana和influxDB安装包(安装包,会放入资源库,自取)
在这里插入图片描述
打开 Xshell工具 (可在英文官网下载免费版本)
在这里插入图片描述
打开xshell工具后,点击「新建文件传输」
在这里插入图片描述
会弹出文件传输框
在这里插入图片描述

这样我们就可以把本机的安装包文件直接复制到linux系统,
上传过程中也能看到对应的进程
在这里插入图片描述
安装完后,我们在Xshell中通过输入ls命令查看一下目录,找到存放grafana的文件,cd 文件名称进入该文件夹并找到对应文件
在这里插入图片描述
然后我们通过命令sodo yum install -y 文件名称安装grafana(注意⚠️,yum命令环境需要提前安装,请在资源包中查看对应资源包)
在这里插入图片描述
我们可以尝试ping 一下百度,检查一下网络是否正常(如遇问题请查看另外一篇文章**《虚拟机及网络配置》**)
在这里插入图片描述
安装完后,输入命令重新加载一下收获程序配置sudo systemctl daemon-reload
然后通过命令sudo systemctl start grafana-server去启动一下grafana
再通过命令sudo systemctl status grafana-server检查一下是否启动成功,如果出现failed表示启动失败,出现active表示启动成功
在这里插入图片描述
在这里插入图片描述
启动完之后我们就可以通过网页端去访问了(网址:虚拟机的ip+端口3000)grafana端口默认为3000,默认账号密码都是admin
在这里插入图片描述

进入grafana后,我们目前需要关注两个地方「Dashboards」和「Data souces」
Dashboards:我们可以通过import 来导入jmeter文件
Data souces :引进influxdb 数据库作为数据源来使用(用于传入数据)
在这里插入图片描述
在这里插入图片描述

设置开机启动命令
sudo systemctl enable grafana-server.service,虚拟机开机时自动启动grafana
sudo systemctl enable influxdb.service,虚拟机开机时自动启动InfiuxDB
在这里插入图片描述

开机启动之后,我们进入输入influx进入对应的环境,然后创建一个数据库名词为jmeter的数据库create database jmeter,创建完后退出influxDB,输入命令exit
在这里插入图片描述
接着我们打开jmter,并添加一个「后端监控器」
在这里插入图片描述
添加完后,这里我们需要注意的是:后端监听器实现一定要选对,不然数据传输不成功
在这里插入图片描述
然后我们去修改InfluxdbURL,IP地址,输入我们需要进行测试的虚拟机IP(已经安装了influxdb的虚拟机) +8086端口
在这里插入图片描述

配置好后,jmeter的数据会正常传入influxDB数据库中,然后回到grafana,配置对应的influxdb来接收数据
操作步骤:进入「Data sources」––点击「Add data source」––选择并点击「InfluxDB」––在http中输入测试机的IP地址
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
输入数据库名词,请求选择get请求,最后点击保存
在这里插入图片描述
到这里influxDB就配置完了,配置成功的话页面会弹出对应提示
在这里插入图片描述

接着我们还需要配置grafana,进入「Dashboard」––点击「import」
在这里插入图片描述
然后我们需要上传json文件,(对应json文件会放在本文章对应的资源包中)
在这里插入图片描述
上传完json包后––DB name需要选择influxDB––然后输入数据库名词jmeter(这是我们自己创建的名称)––最后点击import
在这里插入图片描述
成功之后弹出数据大屏,可以通过刷新页面的方式来刷新数据
在这里插入图片描述
最后我们启动一下虚拟机的服务器,然后到jmeter中点击「运行」
监控到的数据会在数据大屏中显示(测试情况可以直接分享网页链接给到领导查看)
在这里插入图片描述

4、理解性能测试到底在分析什么?
性能测试在做什么?––通过我们给定的场景,去看服务器的表现形式
工作流程:
接到需求:把项目的性能测试一下––目标:能扛住多少并发?(瓶颈)
我们需要做的事情:确认我们的资源(我不用一个人去解决所有问题!)
tips:如果安排的人不懂性能测试(你就在测试环境测)沟通:这么测试没用,结果不会准
性能测试计划:因为测试环境与生产环境不一致,所以测试结果不一定准确
测试环境的部署与搭建:不用自己去部署项目,可以找开发帮忙搭建
性能测试:初期-我们只需要干两件事––找到对应流程中的接口(如果不确定,可以用录制的方式找)写到测试计划中(还需要找架构师确认我们初期选择的接口是否有遗漏

手法:
1、找瓶颈––基准测试数据+自己的推论,找到单接口吞吐量xxxx,
2、梯度压测––找到结论
3、上下浮动10%找到真正的瓶颈值为多少并写入测试报告中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/983089.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第TR3周:Pytorch复现Transformer

🍨 本文为🔗365天深度学习训练营中的学习记录博客 🍖 原作者:K同学啊 Transformer通过自注意力机制,改变了序列建模的方式,成为AI领域的基础架构 编码器:理解输入,提取上下文特征…

操作系统 2.7-CPU调度策略

什么是CPU调度 这张图展示了操作系统中多进程管理和CPU调度的基本概念。图中显示了三个不同的进程(PID:1, PID:2, PID:3),它们各自处于不同的执行状态,并由操作系统的调度器(Scheduler)进行管理。 图中元素…

TypeError: Cannot assign to read only property ‘xxx‘ of object ‘#<Object>‘

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 🍚 蓝桥云课签约作者、…

网络空间安全(16)旁注/跨库/CDN绕过

一、旁注 1. 定义 旁注是一种攻击技术,当黑客无法直接攻击目标网站时,会利用同一服务器上其他网站的安全漏洞,渗透进目标网站,从而获取其权限。这种攻击方式类似于“曲线救国”,通过迂回的方式达成目的。 2. 实现原理 …

ArcGIS操作:13 生成最小外接矩阵

应用情景:筛选出屋面是否能放下12*60m的长方形,作为起降场候选点(一个不规则的形状内,判断是否能放下指定长宽的长方形) 1、面积初步筛选 Area ≥ 720 ㎡ 面积计算见 2、打开 ArcToolbox → Data Management Tools …

3.6 登录认证

登录功能 登录思路 联调测试 登录校验 问题:在未登录情况下,我们也可以直接访问部门管理、员工管理等功能。 登录标记 用户登录成功之后,每一次请求中,都可以得到该标记。 统一拦截 过滤器Filter拦截器Interceptor 会话技术 会…

基于Spring Boot的校园失物招领系统的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

Unity光照之Halo组件

简介 Halo 组件 是一种用于在游戏中创建光晕效果的工具,主要用于模拟光源周围的发光区域(如太阳、灯泡等)或物体表面的光线反射扩散效果。 核心功能 1.光晕生成 Halo 组件会在光源或物体的周围生成一个圆形光晕,模拟光线在空气…

破解透明物体抓取难题,地瓜机器人CASIA 推出几何和语义融合的单目抓取方案|ICRA 2025

概述 近日,全球机器人领域顶会ICRA 2025(IEEE机器人与自动化国际会议)公布论文录用结果,地瓜机器人主导研发的DOSOD开放词汇目标检测算法与MODEST单目透明物体抓取算法成功入选。前者通过动态语义理解框架提升复杂场景识别准确率…

使用JMeter(组件详细介绍+使用方式及步骤)

JSON操作符 在我们使用请求时,经常会遇到JSON格式的请求体,所以在介绍组件之前我会将介绍部分操作符,在进行操作时是很重要的 Operator Description $ 表示根元素 当前元素 * 通配符,所有节点 .. 选择所有符合条件的节点 .name 子元素,name是子元素名称 [start:e…

AI编程工具-(六)

25030607 这两天依然是用通义灵码做数据分析建模,流程没有改进想法。阻塞感明显,需要更多的动脑了。 数据依然是之前的数据。时序数据B预测时序数据A。 准备工作1 问模型思路,但是我没想出新思路,所以没看出啥。 数据分析1 分…

deepseek使用记录18——艺术的追问

一 好的,基于前面学习结果,再写一篇有艺术美的文章 《美的起义》 凌晨四点的茶摊在电子支付二维码下苏醒,蒸腾的水汽中浮动着八百年前建盏的釉色。老板娘把栀子花插在共享单车车筐里,花瓣的弧度与北宋汝窑青瓷的冰裂纹暗合&…

【接口封装】——18、添加目录项列表响应

解释: 1、封装内容:列表显示 2、Qt::UserRole:设置不同的值,以此区分多级目录项 函数定义: void onTreeItemClicked(QTreeWidgetItem* item);void onTreeItemDoubleClicked(QTreeWidgetItem* item);void onTreeItemExp…

基于大数据挖掘与机器学习的家政行业整体素质提升因素分析

目录 ✨摘要 ✨一、绪论 ✨二、研究内容与方法 ✨三、数据处理 ✨四、客户对家政从业者的需求——基于词频分析和词云图 ✨五、家政从业者综合评估因子分析 ✨六、人员专业水平与预期工资的关系——回归分析 ✨七、基于机器学习的预测——BP 神经网络 ✨八、根据因素对…

利用 requestrepo 工具验证 XML外部实体注入漏洞

1. 前言 在数字化浪潮席卷的当下,网络安全的重要性愈发凸显。应用程序在便捷生活与工作的同时,也可能暗藏安全风险。XXE(XML外部实体)漏洞作为其中的典型代表,攻击者一旦利用它,便能窃取敏感信息、掌控服务…

从 Faith 与 Belief 的语义与语境辨析中解析其宗教哲学内涵

注:本文是对 《信仰与理性:信仰的认识论》 中 “Part 5. Faith as belieff” 的 “咬文嚼字”的语义辨析。 第二篇涉及 bible,不看 religion ,只看语义解析。 机翻,未校。 Main Difference – Faith vs Belief July…

TypeError: Cannot read properties of undefined (reading ‘xxx‘)

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 🍚 蓝桥云课签约作者、…

【无人机三维路径规划】基于CPO冠豪猪优化算法的无人机三维路径规划Maltab

代码获取基于CPO冠豪猪优化算法的无人机三维路径规划Maltab 基于CPO冠豪猪优化算法的无人机三维路径规划 一、CPO算法的基本原理与核心优势 冠豪猪优化算法(Crested Porcupine Optimizer, CPO)是一种新型元启发式算法,其灵感来源于冠豪猪的…

阿里推出全新推理模型(因果语言模型),仅1/20参数媲美DeepSeek R1

阿里Qwen 团队正式发布了他们最新的研究成果——QwQ-32B大语言模型!这款模型不仅名字萌萌哒(QwQ),实力更是不容小觑!😎 QwQ-32B 已在 Hugging Face 和 ModelScope 开源,采用了 Apache 2.0 开源协议。大家可通过 Qwen C…

电脑总显示串口正在被占用处理方法

1.现象 在嵌入式开发过程中,有很多情况下要使用串口调试,其中485/422/232转usb串口是非常常见的做法。 根据协议,接口芯片不同,需要安装对应的驱动程序,比如ch340,cp2102,CDM212364等驱动。可…