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

图片

设置显示的数据,点击

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录算法训练营第四十九天【动态规划part10】 | 121. 买卖股票的最佳时机、122.买卖股票的最佳时机II

121. 买卖股票的最佳时机 题目链接: 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 求解思路: 动规五部曲 确定dp数组及其下标含义:使用一个二维数组dp[i][2],dp[i][0]代表持有股票的最大收益&…

【C++】类型转换 ⑤ ( 常量和非常量之间的类型转换 - 常量类型转换 const_cast | const 左数右指原则 | 代码示例 )

文章目录 一、const 关键字简介1、const 修饰普通数据2、const 修饰指针 ( 左数右指原则 | 指针常量 | 常量指针 ) 二、常量和非常量 之间的类型转换 - 常量类型转换 const_cast1、常量类型转换 const_cast2、常量不能直接修改3、修改常量值的方法4、特别注意 - 确保指针指向的…

【离散数学】——期末刷题题库(命题逻辑)

🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL&#xff1a…

在CI/CD中使用submodule

背景信息 客户的submodule使用的是ssh协议拉取 前置操作 gitlab添加子模块 git clone ssh://gitkube.bdeet.top:2222/cicd/123.git cd 123/ ls -la git submodule add ssh://gitkube.bdeet.top:2222/approve/test-1.git git submodule add ssh://gitkube.bdeet.top:2222/mr…

java三大集合类--List

List Set Map 一、List 几个小问题: 1、接口可以被继承吗?(可以) 2、接口可以被多个类实现吗?(可以) 3、以下两种写法有什么区别? //List list1new List();是错误的因为List()…

数据治理技术:研究现状与数据规范

随着信息技术的迅速发展,数据规模逐渐扩大,与此同时,劣质数据也随之而来,极大地降低了数据挖掘的质量,对信息社会造成了严重的困扰,劣质数据大量存在于很多领域和机构,国外权威机构的统计表明:美…

untiy 配置iis服务器来打开webgl

最简单的方法是不需要配置服务器,打包的时候直接build and run,但是有时候如果我们需要调整js的内容,会很不方便,所以配置一个iis服务器还是很有必要的 首先要开启iis服务 控制面板,查看方式选类型,点击程…

C++设计模式——工厂模式 :简单工厂、工厂方法、抽象工厂

工厂模式可以分为三种,简单工厂模式,工厂方法模式和抽象工厂模式。 那么,这三种工厂模式长啥样,又为啥会衍生出这三种模式来呢?本篇和大家一起来学习总结一下。 一、简单工厂模式 简单工厂SimpleFactory 负责创建所有…

使用OSS搭建私有云内网yum仓库的方法

使用OSS搭建私有云内网yum仓库的方法 文字&图片内容已脱敏 #、前几天接到一个搭建内网yum源的任务。刚接到这个任务的时候还是比较头疼的,因为内部有很多VPC。VPC与VPC之间是不互通的,又不能打高速通道,也不可能每个VPC下边都建一个yum…

csv文件EXCEL默认打开乱码问题

这里讨论的问题是,当用记事本打开带有中文字符的csv正常时,用excel打开却是乱码。 简单概括就是:编码问题,windows的 excel打开csv文本文件时,默认使用的是系统内的ANSI,在中文环境下就是GB2312。如果写文件…

windows11 phpstudy_pro php8.2 安装redis扩展

环境:windows11 phpstudy_pro php8.2.9 一、命令查看是否安装redis扩展 在对应网站中通过打开,,选择对应的PHP版本,用命令 php -m 查看自己的php 有没有redis扩展 上面如果有,说明已经安装了,如果没有安装&#xff1…

5 时间序列预测入门:LSTM+Transformer

0 引言 论文地址:https://arxiv.org/abs/1706.03762 1 Transformer Transformer 模型是一种用于处理序列数据的深度学习模型,主要用于解决自然语言处理(NLP)任务。它在许多 NLP 任务中取得了重大突破,如机器翻译、文本…

Servlet-Vue-JSON交互

Servlet-Vue-JSON交互 统一结果返回 定义 package org.example.result;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;Data NoArgsConstructor AllArgsConstructor public class Result<T> {private Integer code;private St…

Android Studio 模拟器设置独立窗口

目录 模拟器在窗口内部运行 设置成独立窗口 模拟器在窗口内部运行 操作起来十分不便 设置成独立窗口 Android Studio -> Preferences(Settings) -> Tools-> Emulator ->取消勾选 Launch in a tool window -> 点击右下角的 OK 按钮 -> 重启 Android Studio

前端---CSS篇(详解CSS)

1.CSS简介 CSS(Cascading Style Sheets)层叠样式表&#xff0c;是用来为结构化文档&#xff08;HTML、XML等应用&#xff09;添加样式,比如字体、颜色、大小、间距的计算机语言。CSS目前已经发展到了CSS3.0了。 2.CSS导入方式 CSS有三种导入方式&#xff1a; 1.行内样式&am…

MySQL在Docker容器中的性能损失分析与优化策略

文章目录 1. Docker容器对MySQL性能的潜在影响1.1. IO性能1.2. 网络性能1.3. 资源隔离 2. 优化策略2.1. 使用本地数据卷2.2. 配置合理的容器网络2.3. 限制容器资源2.4. 使用容器编排工具 3. 性能测试与监控4. 结论 &#x1f389;MySQL在Docker容器中的性能损失分析与优化策略 ☆…

Positive Technologies 公司发布了一种保护容器环境的产品 PT Container Security

根据 Positive Technologies 公司的数据&#xff0c;该类产品在俄罗斯的市场容量为 25 亿卢布&#xff0c;据预测&#xff0c;到 2026 年将增长两倍 Positive Technologies 公司正在增加应用安全方面的产品组合。新产品 PT Container Security可在构建、部署和工业运行阶段自动…

[MySQL--基础]函数、约束

hello! 这里是欧_aita的频道。 今日语录:不管你觉得自己能做什么&#xff0c;或者你觉得你不能做什么&#xff0c;你都是对的。 祝福语&#xff1a;愿你的程序像太阳一样明亮&#xff0c;给世界带来温暖和光明。 大家可以在评论区畅所欲言&#xff0c;可以指出我的错误&#xf…

吴恩达《机器学习》10-6-10-7:学习曲线、决定下一步做什么

一、学习曲线 1. 学习曲线概述 学习曲线将训练集误差和交叉验证集误差作为训练集实例数量&#xff08;m&#xff09;的函数绘制而成。这意味着从较少的数据开始&#xff0c;逐渐增加训练集的实例数量。该方法的核心思想在于&#xff0c;当训练较少数据时&#xff0c;模型可能…

LeetCode Hot100 739.每日温度

题目&#xff1a; 给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在几天后。如果气温在这之后都不会升高&#xff0c;请在该位置用 0 来代替。 方法&…