Jmeter--如何监控服务器资源

在我们做项目的性能测试时,需要查看相关服务器的资源使用情况;本文以apache-Jmeter-5.5版本为例,使用PerfMon进行服务器资源监控的方案由两部分来实现:ServerAgent部署在被测服务器,负责资源耗用数据的采集,其功能实现主要基于hyperic的SIGAR;PerfMon Listener以插件形式集成到Jmeter,作为其中一个Listener。

01、准备插件

若想要监控服务器资源,需要先下载三个插件包,分别为

JMeterPlugins-Standard

JMeterPlugins-Extras

ServerAgent-2.2.3

🎯 Jmeter客户端插件安装:

安装有两种方式:

第一种方式:到Jmeter-plugins官网搜索PerfMon并下载,将得到的jar包放置于JMeter安装目录的lib/ext/路径下,重启JMeter,从Listener中选择使用插件。

第二种方式:使用Plugins Manager,直接在插件管理中心进行搜索下载安装即可,本文推荐使用第一方式进行;

首先需要下载插件管理插件,下载地址:https://jmeter-plugins.org/install/Install/, 点击【plugins-manager.jar】链接进行下载。

下载完成后的文件是plugins-manager.jar格式,将其放到Jmeter安装目录下的lib/ext目录。插件下载地址:https://jmeter-plugins.org/downloads/old/, 已下载插件中的jar包,并放到jmeter的安装目录lib/ext下。

重启Jmeter查看是否加载成功,当在项目计划下添加监听组件时,可以看到下图所示监听器"jp@gc - PerfMon Metrics Collector",客户端的准备工作基本结束。

复制代码
​现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:485187702【暗号:csdn11】

🎯 服务器代理插件(PerfMon Server Agent)安装:

ServerAgent与Jmeter进行数据传输时使用简单的文本协议,默认使用TCP协议,默认端口4444。前提:ServerAgent运行需要jre1.4以上版本支持。

下载地址:https://github.com/undera/perfmon-agent,选择ServerAgent-2.2.3版本即可;下载后把对应的文件上传到目标服务器的usr/localmul 目录下解压即可。如果是Windows服务器,直接点击文件夹中的startAgent.bat,如果是linux服务器,在需要运行startAgent.sh文件。

在Linux,我们通常将其放在后台运行,比如用nohup。

操作步骤如下:

  • 进入插件目录:cd /usr/local/ServerAgent-2.2.3

先调试查看:./startAgent.sh --loglevel debug,主要看startAgent.sh能否正常的启动,该文本必须具有执行权限,如果没有择需要给对应文件添加权限,执行命令:chmod 777 startAgent.sh ,将startAgent.sh设置成可执行文件;如果执行命令看到如下图所示,说明文件可以正常执行,可以启动代理服务,如果出现异常择根据异常进行相应处理,可以访问 https://github.com/undera/perfmon-agent,查看官方的使用说明。

最终以后台运行方式启动:nohup ./startAgent.sh > /dev/null 2>&1 &

通过netstat -lnpt 命令,可以查看到该服务已经正常启动,使用端口4444。

nohup /dev/null 2>&1 & 命令介绍:

  • nohup

nohup(n ohang up)的意思是不挂起、永久执行

nohup运行命令可以使运行的命令永久的执行下去,和用户终端没有关系,可以在你退出帐户/关闭终端之后继续运行相应的进程。例如我们断开SSH连接并不会影响他的运行(注意:nohup没有后台运行的意思,&才是后台运行)

  • &

&是指在后台运行,当用户退出(挂起)、关闭终端的时候,后台运行的这条命令也会退出

  • /dev/null

/dev/null表示垃圾桶的意思,类似windows的回收站

  • 2>&1

2表示错误输出,1表示标准输出,>表示重定向

所以2>&1连起来就是:将错误输出重定向到标准输出

02、设置监听服务器资源

监控插件设置完毕,远程目标服务上的插件服务已经启动后,在客户端监听组件进行设置,可选择添加,配置监控指标CPU、内存、网络等,根据实际需要添加即可,设置成功后如下图所示:

对几种主要的资源类型的指标项简单说明下:

  • CPU:

    数值都是代表百分比,比如默认配置(combined)下在曲线图中看到个时间的数值是20,即代表此时总的cpu使用时间占比为20%。在Scope区域,可以通过Per Process选项来获取指定进程的CPU使用情况,二是在CPU Cores区域,我们可以选择监控指定的单个Core。

  • Memory:

    指标项中,usedperc(默认)和freeperc两项的数值代表与总内存的百分比,其余指标项的数值都是指内存大小,选中对应项目,可以看到Metric Unit区域单位配置将变为可用,通常Mb会比较适合查看。

  • Disk I/O:

    各指标项中,queue(默认)的数值代表等待I/O队列长度,reads、writes分别代表每秒处理的读/写次数,readbytes、writebytes,代表每秒读/写的数据量,单位同样在Metric Unit区域配置,通常Mb会比较适合查看。

03、远程服务器监听数据查看和保存

在使用GUI模式进行调试时,测试启动后,可以直接在对应窗口观察到根据采集数据描绘的图形。而要在使用NO GUI模式正式执行测试后,查看监控数据,可以在设计测试计划时,在下图所示的Filename位置配置数据要保存的地址,可以根据需要存储文件格式,本文保存为.CSV格式的文件;它和保存Jmeter测试主数据的方式一样,需要注意的是不要和Jmeter测试主数据保存到同一个文件

正式测试时需要在命令模式下执行测试,命令格式:jmeter -n -t jmx file -l results file -e -o Path to web report folder,例如:jmeter.bat -n -t ./Script/测试计划-243.jmx -l D:/gxw/report/2023013101/测试计划-243.jtl -e -o D:/report/2023013101,在测试执行完成后,在插件界面载入这个文件,即可显示监控数据的图形展示,可以点击

设置显示的数据,点击

相关推荐
hh9502 小时前
gent Plan × DeepSeek Harness Agent 单元测试与行为回归框架
人工智能·数据挖掘·回归·单元测试·agent plan·adg成都社区·adg社区
测试19986 小时前
接口自动化测试的全面解析与实战指南
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
川石课堂软件测试9 小时前
自动化测试常见的异常处理
python·jmeter·mysql·docker·容器·单元测试·grafana
YakProject9 小时前
如何让 AI Agent 跑得更快???
人工智能·测试工具·网络安全·agent·yakit·yaklang
wuhuhuan14 小时前
JMeter 性能测试教程
jmeter
冷凝娇1 天前
【Pytest】2026 学习总结
学习·pytest
测试19981 天前
Selenium 无法定位元素的几种解决方案
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
汽车仪器仪表相关领域1 天前
ZDT‑I伺服电机测试系统:四象限动态加载
大数据·数据库·分布式·功能测试·汽车·压力测试·可用性测试
慧都小项1 天前
夜间Web回归跑到一半停了?TestComplete 15.83提升批量测试稳定性
前端·测试工具·数据挖掘·回归·汽车·web