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,在测试执行完成后,在插件界面载入这个文件,即可显示监控数据的图形展示,可以点击

设置显示的数据,点击

相关推荐
終不似少年遊*2 天前
【软测】node.js辅助生成测试报告
软件测试·测试工具·node.js·postman·web
测试19983 天前
2025软件测试面试题汇总(接口测试篇)
自动化测试·软件测试·python·测试工具·面试·职场和发展·接口测试
WangLanguager3 天前
2.4.1 ASPICE的编码与单元测试
单元测试
修炼者3 天前
Android单元测试
单元测试·android studio
虚妄狼3 天前
【Jmeter】Jmeter 高并发性能压力测试
jmeter
沉豆3 天前
Jmeter调用jar包中的方法,并使用返回值当请求参数
java·jmeter·jar
互联网杂货铺3 天前
如何使用Postman做接口自动化测试
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
慢飞的笨鸟4 天前
Jmeter压测手册:脚本配置、服务器环境搭建与运行
jmeter
车载测试工程师4 天前
Wireshark 筛选功能详解:语法与示例
网络·tcp/ip·测试工具·wireshark
测试杂货铺4 天前
postman接口测试
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman