jmeter监控技术
性能测试中监控的意义
性能测试的目的:通过技术手段,提前发现项目性能问题,优化并解决
- 性能分析:
- 1、依据什么分析
- 2、怎么分析
项目中的监控方案
收集器方式
-
实时收集且传输
-
离线传输
top指令---实时的,没有历史记录,需要盯着看,不直观 -
监控原理:
- 间谍:收集器,需要服务器权限,要间谍跑起来,收集信息
- 情报员:接收器
-
方案一:serverAgent监控
- 将serveragent-xxxx.jar上传到被测服务器解压,进入目录
- Windows:双击serverAgent.bat启动
- Linux:执行serverAgent.sh启动
- 默认使用4444端口,出现如下情况即服务端启动成功
监控效果:
Linux启动:
chmod 777 startAgent.sh
加载一个文件来存储结果,如果加载报错,直接点确定
选择覆盖
点击空白处,可以监控具体的进程
-
方案二:nmon监控
- 离线方案:通过nmon收集器收集数据--等场景运行完成之后,使用分析器,离线分析
- 实时方案:grafana+nmon_exporter--实时---不建议
- 1、解压并获取对应平台的nmon工具文件
- tar -zxf nmon16e_mpginc.tar.gz
- mv nmon_x86_64_centos7 nmon----重命名
- 2、本机使用excel分析工具NmonAnalyser
启动nmon
空白处输入cmdn
* 1.11生成nmon报告
* 1、nmon -s20 -c3 -f -m /usr/local/nmon/nmon_output
* 参数解释
* -s20 每20秒采集一次数据
* -c3 采集3次,即为采集一分钟的数据
* -f 生成的报告文件名中包含文件创建的时间 format
* -m 生成的报告文件的存放目录
* 生成的文件名如下:xxx_210620_0118.nmon
xxxx 是机器的主机名
把采集到的文件下载到windows系统
* 在windows打开分析工具
* 然后导入采集到的文件
* 自动生成图形文件,保存到指定的路径
-
方案三:grafana监控平台
- 方案简介:
- 公司大部分服务器,项目都在Linux系统下部署,我们需要了解Linux环境下搭建可视化监控平台
- 需要具备什么样的技能:
- 1、常用的Linux指令技能
- 2、监控平台的工作原理
- 数据采集--node_exporter
- 数据存储--Prometheus
- 数据展示--grafana
- 方案简介:
优秀监控方案所具备的特性
- 1、准确性高
- 2、时效性好
- 3、可视化高
- 4、历史数据
- 5、警告通知---工具联通叮铃,发邮件,发短信--告警触发
windows资源监控
-
方案一:jconsole
- jdk的bin目录下面有自带的资源监控平台--jconsole.exe
双击jconsole.exe,启动监控平台,可以选择需要监控的服务。可以是本地的tomcat进程,也可以是远程的服务器。这里我选择了监控jmeter进程。
-
在上方的概览中,我们可以看到堆内存,线程,类,cpu四个监控模块。时间可以*选择。
在VM概要中,我们可以直观的看到各种性能数据。包括jmeter分配的线程池大小。
在内存选项中,我们可以选择分别监控新生代,老年代,eden,space这些堆内存空间。同时可以手动gc内存。
在线程中,我们可以监控所有已加载的线程,同时一键检测线程死锁。
- 方案二:jmc工具
- 可以监控本地和远程机器
jmc的功能类似于jconsole,不过仪表盘式的外观和色彩看起来更加漂亮。
在底部的按钮可以针对堆内存,cpu,线程等进行性能诊断
- 方案三jvisualvm工具
- 可以监控本地和远程服务
jvisualvm的功能更加强大一些,除了常规的数据监控之外,还可以对线程进行dump(只能针对本地,不能对远程服务进行dump)
jdk自带的监控工具是丰富多彩的,我们可以根据自己的需求去选择不同的工具。