在性能测试中为什么需要监控?我们需要了解程序在运行过程中关于各个服务节点的状态,而服务器物理机是有资源制约的,有限制边界的,不同的软硬件配置在实际性能测试中造成的影响也不一致。
性能测试的目的主要有以下三点:
1.评价系统当前性能,判断系统是否满足预期的性能需求。例如上线性能要求。
2.判定系统的性能表现,预判系统负载压力承受力,知道系统的极限。
3.寻找系统可能存在的性能问题,定位性能瓶颈并解决问题。
针对以上性能测试的目的,就必须首先执行性能测试并明确需要收集、监控哪些关键指标;通常情况下,性能测试监控指标主要分为:资源指标和系统指标,如下图所示,资源指标与硬件资源消耗直接相关,而系统指标则与用户场景及需求直接相关。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyN4QTOzcDM3EjNwIDM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
首先来了解下本次用到了哪些工具
压测工具i:Jmeter
数据库:mysql
监控工具:netdata
可视化分析:grafana
储存时序数据:influxDB
以及一些已经部署好的前端后台服务
现在开始配置监控工具
一.配置jmeter监听器(与influxdb进行关联)
二.运行jmeter查看influxdb数据(在进行压测时,监听器会通过配置的influxdb地址进行被测接口的数据传输)
进入容器:docker exec -it influxdb /bin/sh
进入influx:influx
查看数据库:show databases
使用jmeter:use jmeter
查看jmeter库清单:show measurements
查看并发数据:select * from "jmeter"
三.grafana添加influxdb的jmeter数据
四.grafana添加jmeter面板
我这边用的是4026,https://grafana.com/grafana/dashboards/4026
import后生成面板
五.grafana监控面板展示