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

news2024/11/17 19:30:09

在我们做项目的性能测试时,需要查看相关服务器的资源使用情况;本文以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.coloradmin.cn/o/1264644.html

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

相关文章

直接插入排序和希尔排序

前言 我们前面几期介绍了线性和非线性的基本数据结构。例如顺序表、链表、栈和队列、二叉树等~!本期和接下来的几期我们来详解介绍各个排序的概念、实现以及性能分析! 本期内容 排序的概念以及其运用 常见的排序算法 直接插入排序 希尔排序 一、排序的…

xv6 磁盘中断流程和启动时调度流程

首发公号:Rand_cs 本文讲述 xv6 中的一些细节流程,还有对之前文中遗留的问题做一些补充说明,主要有以下几个问题: 一次完整的磁盘中断流程进入调度器后的详细流程sched 函数中的条件判断scheduler 函数中为什么要周期性关中断 …

Java 基础学习(三)循环流程控制与数组

1 循环流程控制 1.1 循环流程控制概述 1.1.1 什么是循环流程控制 当一个业务过程需要多次重复执行一个程序单元时,可以使用循环流程控制实现。 Java中包含3种循环结构: 1.2 for循环 1.2.1 for循环基础语法 for循环是最常用的循环流程控制&#xff…

WPF Live Charts2 自学笔记

文章目录 前言实现效果微软平台的历史问题 WPF 项目搭建Nuget添加额外框架添加项目初始化livecharts配置其它LiveCharts2 案例简单案例Demo示例ViewViewModel GPU渲染 Github地址仓库 前言 LiveChart 是C# 上面很受欢迎的统计图 UI控件。最近在学WPFhalcon开发,想想…

【.NET全栈】.net的微软API接口与.NET框架源码

文章目录 0 前言1 微软官方.net接口学习2 .NET框架源码总结 0 前言 如果浏览器打不开链接,换一个浏览器打开。 我是 打不开微软的链接,使用: 可以打开!!! 1 微软官方.net接口学习 https://docs.microsoft…

【藏经阁一起读】(78)__《Apache Tomcat 的云原生演进》

【藏经阁一起读】(78) __《Apache Tomcat 的云原生演进》 目录 __《Apache Tomcat 的云原生演进》 一、读后感 二、文章知识点摘要 2.1、Tomcat的技术内幕和在喜马拉雅的实践 2.2、GraalVM static compilation in web container application&…

windows系统mobaxterm远程执行linux上ssh命令

命令如下 start "" "%~dp0\MobaXterm_Personal_23.4.exe" -newtab "sshpass -p root ssh root192.168.11.92 mkdir 33" -p 是密码 左边是用户名,右边是服务器ip 后面跟的是服务器上执行的命令 第一次执行的时候要设置mobaxt…

海翔云平台 getylist_login.do SQL 注入漏洞复现

0x01 产品简介 海翔云平台一站式整体解决方案提供商,业务涵盖 批发、连锁、零售行业ERP解决方案、wms仓储解决方案、电商、外勤、移动终端(PDA、APP、小程序)解决方案。 0x02 漏洞概述 海翔云平台getylist_login.do接口处存在SQL注入漏洞&am…

《数据结构、算法与应用C++语言描述》-线索二叉树的定义与C++实现

_23Threaded BinaryTree 可编译运行代码见:GIithub::Data-Structures-Algorithms-and-Applications/_24Threaded_BinaryTree 线索二叉树定义 在普通二叉树中,有很多nullptr指针被浪费了,可以将其利用起来。 首先我们要来看看这空指针有多少…

老师怎样预防校园欺凌的发生

作为老师,面对校园欺凌这个问题,我觉得有必要为各位老师提供一些实用的建议和策略。因为大家都知道,校园欺凌的存在不仅会对学生造成身心伤害,还会对整个教育环境产生负面影响。 关注学生的心理健康 校园欺凌往往与学生的心理问题…

手把手教你:基于python+Django的英文数据分析与可视化系统

系列文章 手把手教你:基于Django的新闻文本分类可视化系统(文本分类由bert实现)手把手教你:基于python的文本分类(sklearn-决策树和随机森林实现)手把手教你:基于TensorFlow的语音识别系统 目录…

Java Agent探针技术

前言 Java Agent基于字节码增强技术研发,支持自动埋点完成数据上报,Java Agent包含(并二次分发)opentelemetry-java-instrumentation CNCF的开源代码,遵循Apache License 2.0协议,在Java Agent包中对opentelemetry License进行了…

为什么国密SSL证书越来越受市场青睐

随着信息技术的迅猛发展,网络安全问题备受关注。在这个背景下,越来越多的单位纷纷选择国密SSL证书,以构建更为安全可靠的网络环境。那么,为什么这么多单位选择国密SSL证书呢? 1,国家政策支持 近年来&#…

战略制定|竞争战略管理分析六大常用工具

企业战略可从多个角度理解,体现为著名的5P模型。首先,从未来发展视角看,战略是一种计划(Plan),指导企业朝向既定目标前进。而从过去的发展历程看,它呈现为一种模式(Pattern),反映了企业的历史行为趋势。在产…

【Python】Selenium自动化测试框架

设计思路 本文整理归纳以往的工作中用到的东西,现汇总成基础测试框架提供分享。 框架采用python3 selenium3 PO yaml ddt unittest等技术编写成基础测试框架,能适应日常测试工作需要。 1、使用Page Object模式将页面定位和业务操作分开&#xff0…

uniapp+微信小程序监听返回事件

代码附在最后 适用场景:uniapp开发微信小程序 需求是我点击列表进入数据信息的详情界面,点击详情界面的收藏,返回上一界面后,更新列表中的收藏情况。 目录 一、使用onUnload监听页面卸载 二、使用getCurrentPages()获取当前页…

关于网站的favicon.ico图标的设置需要注意的几点

01-必须在网页的head标签中放上下面的说明&#xff1a; <link rel"shortcut icon" href"/favicon.ico">否则&#xff0c;浏览器虽然能读到图标&#xff0c;但是不会把图标显示在标签上。 02-浏览器会默认到网站根目录中读取文件favicon.ico&#x…

Java线程通信

线程通信 案例 package com.itheima.d4;public class ThreadTest {public static void main(String[] args) {Desk desk new Desk();//创建3个生产者线程new Thread(() -> {while (true) {desk.put();}}, "厨师1").start();new Thread(() -> {while (true) {…

MySQL数据库入门到大牛_基础_18_MySQL8其它新特性(MySQL基础部分最后一章;新特性概述;窗口函数;公用表表达式)

文章目录 1. MySQL8新特性1.1 MySQL8.0 新增特性1.2 MySQL8.0移除的旧特性 2. 新特性1&#xff1a;窗口函数2.1 使用窗口函数前后对比2.2 窗口函数分类2.3 语法结构2.4 分类讲解1. 序号函数2. 分布函数3. 前后函数4. 首尾函数5. 其他函数 2.5 小 结 3. 新特性2&#xff1a;公用…

vsphere系列 :虚拟机配置直通GPU后,启动时出现 模块“DevicePowerOn”打开电源失败 的解决方案

vsphere中的虚拟机配置直通GPU后&#xff0c;启动时出现 模块“DevicePowerOn”打开电源失败 的解决方案 vsphere中的虚拟机配置直通GPU后&#xff0c;启动时出现 模块“DevicePowerOn”打开电源失败 的解决方案1、虚拟机配置GPU直通1、打开虚拟机选项2、点击编辑配置3、添加如…