小白也能看得懂的Jmeter性能测试中服务端资源监控技术

news2024/11/19 21:31:01

操作步骤:

在这里插入图片描述

1、安装插件管理器

插件管理器的作用:可以提供扩展插件的在线安装升级和卸载。因为我们需要在线安装监控插件,首先我们就要先安装插件管理器。

插件管理器的下载地址:https://jmeter-plugins.org/install/Install/

如下图所示下载“ plugins-manager.jar ”,下载后放到“jmeter\lib\ext”目录下,重启jmeter。

图片

图片

2、安装资源监控扩展插件

点击“选项”\“Plugins Manager”,打开插件管理器对话框;

图片

切换到“Available Plugins Upgrades”标签页,选择“PerMon(Servers Performance Monitoring)”,点击“Apply Changes and Restart JMeter”;

观察下载安装进度,安装完成后,自动重启JMeter。

图片

图片

注:也可以将下载的jar包直接放到“jmeter\lib\ext”目录下,重启jmeter。

3、安装服务端监控代理

下载“ServerAgent-2.2.3”,解压到复制到要监控的服务器上,windows和linux通用,使用这个代理服务之前要JDK已经安装配置成功。我这边以centos为例。图片

4、启动监控代理

切换到“ServerAgent-2.2.3”,输入./startAgent.sh;
[root@localhost ServerAgent-2.2.3]# ./startAgent.sh
bash: ./startAgent.sh: Permission denied

如果报权限不够,通过chmod增加权限;
[root@localhost ServerAgent-2.2.3]# chmod 775 startAgent.sh

然后再次启动代理服务,出现如下提示证明成功了,默认端口4444。
[root@localhost ServerAgent-2.2.3]# ./startAgent.sh
Java HotSpot™ Client VM warning: You have loaded library /usr/local/ServerAgent-2.2.3/ServerAgent-2.2.3/lib/libsigar-x86-linux.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It’s highly recommended that you fix the library with ‘execstack -c ’, or link it with ‘-z noexecstack’.
^[[AINFO 2019-07-31 20:10:05.695 [kg.apc.p] (): Binding UDP to 4444
INFO 2019-07-31 20:10:06.709 [kg.apc.p] (): Binding TCP to 4444
INFO 2019-07-31 20:10:06.799 [kg.apc.p] (): JP@GC Agent v2.2.3 started

5、添加资源监控

在JMeter脚本中添加“jp@gc - PerfMon Metrics Collector”监听器

在这里插入图片描述

添加监听服务器的资源,在“jp@gc - PerfMon Metrics Collector”监听器,点击“Add Row”;

图片

Host/IP:默认是localhost,改成需要监控的IP或者域名,端口要与启动代理的服务器端口相一致;

Metric to Collect:根据监控的要求可以选择CPU,Disks I/O,Network I/O等,一次只能选择一个,如果要监控多种资源,可以点击“Add Row”继续添加。

在这里插入图片描述

6、执行脚本观察指标

执行性能观察指标变化。

在这里插入图片描述

如果监控不到,可能是服务器防火墙的原因,关闭防火墙后,重新启动代理服务,执行性能脚本。

[root@localhost sq]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
[root@localhost sq]#

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

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

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

相关文章

ESP32网络开发实例-远程Web串口监视器

远程Web串口监视器 文章目录 远程Web串口监视器1、应用介绍2、软件准备3、硬件准备4、代码实现在本文中,我们将构建一个 ESP32 网络服务器,用作远程串行监视器。 基于 Web 的串行监视器的工作方式与通常用于调试目的的 Arduino IDE 串行监视器的工作方式相同。 1、应用介绍 …

信息检索策略和技巧

指定检索策略并检索 确定检索词 检索课题:查找与“新型冠状病毒疫苗研制进展”有关的学术论文 检索式(2019-nCoV or 2019新型冠状病毒 or nCov-2019 or SARS-CoV-2 or COVID-19) and (疫苗 or 预防针 or 防疫针 or vaccin or vaccine) 扩展检索词的方式 同义词…

人工智能轨道交通行业周刊-第66期(2023.11.20-11.26)

本期关键词:智能铁鞋、TFDS、道岔密贴检查、Agent、Q*假说 1 整理涉及公众号名单 1.1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟VSTR铁路与城市轨道交通RailMetro轨道世界铁路那些事铁路…

JVM字节码文件的相关概述解读

Java全能学习面试指南:https://javaxiaobear.cn 1、字节码文件 从下面这个图就可以看出,字节码文件是可以跨平台使用的 想要让一个Java程序正确地运行在JVM中,Java源码就必须要被编译为符合JVM规范的字节码。 https://docs.oracle.com/java…

【Leetcode合集】1457. 二叉树中的伪回文路径

1457. 二叉树中的伪回文路径 1457. 二叉树中的伪回文路径 代码仓库地址: https://github.com/slience-me/Leetcode 个人博客 :https://slienceme.xyz 给你一棵二叉树,每个节点的值为 1 到 9 。我们称二叉树中的一条路径是 「伪回文」的&am…

Nodejs 第二十章(fs 上)

概述 在 Node.js 中,fs 模块是文件系统模块(File System module)的缩写,它提供了与文件系统进行交互的各种功能。通过 fs 模块,你可以执行诸如读取文件、写入文件、更改文件权限、创建目录等操作,Node.js …

【腾讯云云上实验室】向量数据库相亲社交应用实践

快速入口 👉向量数据库_大模型知识库_向量数据存储_向量数据检索- 腾讯云 (tencent.com) 文章目录 前言1. 向量数据库概念及原理1.1 向量数据库概念1.2 向量数据库核心原理1.3 向量数据库优缺点1.4 向量数据库与传统数据库的区别 2. 腾讯云向量数据库的基本特性及优…

为什么,word文件在只读模式下,仍然能编辑?

Word文档设置了只读模式,是可以编辑的,但是当我们进行保存的时候就会发现,word提示需要重命名并选择新路径才能够保存。 这种操作,即使可以编辑文字,但是原文件是不会受到影响的,编辑之后的word文件会保存到…

竞赛选题 题目:基于卷积神经网络的手写字符识别 - 深度学习

文章目录 0 前言1 简介2 LeNet-5 模型的介绍2.1 结构解析2.2 C1层2.3 S2层S2层和C3层连接 2.4 F6与C5层 3 写数字识别算法模型的构建3.1 输入层设计3.2 激活函数的选取3.3 卷积层设计3.4 降采样层3.5 输出层设计 4 网络模型的总体结构5 部分实现代码6 在线手写识别7 最后 0 前言…

Spring 拾枝杂谈—Spring原生容器结构剖析(通俗易懂)

目录 一、前言 二、Spring快速入门 1.简介 : 2. 入门实例 : 三、Spring容器结构分析 1.bean配置信息的存储 : 2.bean对象的存储 : 3.bean-id的快捷访问 : 四、总结 一、前言 开门见山,11.25日开始我们正式进入Java框架—Spring的学习,此前&…

midjourney过时了?如何使用基于LCM的绘图技术画出你心中的画卷。

生成 AI 艺术在近年来迅速发展,吸引了数百万用户。然而,传统的生成 AI 艺术需要等待几秒钟或几分钟才能生成,这对于快节奏的现代社会来说并不理想。 近日,中国清华大学和 AI 代码共享平台 HuggingFace 联合开发了一项新的机器学习…

群晖NAS基础设置

群晖NAS基础设置 最近一直在玩群晖NAS系统,有一些基础的配置跟大家分享一下 开启ssh登录 1.开启方法 控制面板—>终端和SNMP—>终端机 2.使用ssh软件登录 这里我用SecureCRT登录 进入ssh 3.进入root用户 starstar-nas:~$ sudo su -l root Password: ro…

Python----函数的数据 拆包(元组和字典)

Python拆包: 就是把元组或字典中的数据单独的拆分出来,然后赋予给其他的变量。 拆包: 对于函数中的多个返回数据, 去掉 元组, 列表 或者字典 直接获取里面数据的过程。 元组的拆包过程 def func():# 经过一系列操作返回一个元组return 100, 200 …

【Qt绘制仪表盘】

目的 使用Qt的绘制事件绘制一个仪表盘 思路 需要创建一个带绘制事件的控件重写绘制事件显示 实现 以下是实现代码&#xff0c;可复制到程序到&#xff0c;直接运行。 .h // GaugeWidget.h #ifndef GAUGEWIDGET_H #define GAUGEWIDGET_H#include <QWidget>class Ga…

redis事务及管道

目录 redis事务 1、redis事务命令 2、示例 redis管道 1、管道命令 2、示例 redis事务 在Redis中&#xff0c;事务是一组命令的有序队列&#xff0c;可以一次执行多个命令&#xff0c;本质是一组命令的集合。一个事务中的所有命令都会序列化&#xff0c;按顺序地串行化执…

【JavaEE】多线程 (1)

目录 1. 认识线程&#xff08;Thread&#xff09; 1) 线程是什么 2) 为啥要有线程 3) 进程和线程的区别 2.第⼀个多线程程序 3.多线程的其他创建方式 方法二:实现 Runnable 接⼝ 方法三:匿名内部类 方法四:实现Runable, 重写run, 匿名内部类 方法五:使用lambda表达式…

Leetcode—35.搜索插入位置【简单】

2023每日刷题&#xff08;四十&#xff09; Leetcode—35.搜索插入位置 实现代码 int lower_bound(int* arr, int numsSize, int tar) {int left 0, right numsSize;int mid;// 左闭右开[left, right)while(left < right) {mid left (right - left) / 2;if(arr[mid] &…

4G执法记录仪在大型安保集团,保安集团、蓝天救援队中的 应用,行为规范化,人员定位,考勤打卡,应急指挥调度

【智能化升级】揭秘4G/5G执法记录仪在安保与救援领域如何重塑行业标准与效率 在快速发展的社会当中&#xff0c;大型安保集团、保安集团和蓝天救援队所肩负的任务日益繁重与复杂。无论是在平时的治安巡查、安保执勤&#xff0c;还是在突发公共事件的应急响应中&#xff0c;如何…

C++ STL-----容器

STL容器就是将运用最广泛的一些数据结构实现出来 常用的数据结构&#xff1a;数组, 链表,树, 栈, 队列, 集合, 映射表 等 这些容器分为序列式容器和关联式容器两种: 序列式容器:强调值的排序&#xff0c;序列式容器中的每个元素均有固定的位置。 关联式容器:二叉树结构&…

JavaScript解构数组

还记得之前我们是如何读取到数组里面的元素的么&#xff1f; const arr [2, 3, 4]; const a arr[0]; const b arr[1]; const c arr[2];然后通过这个方式去读取数组中的数据&#xff1b; 现在我们可以使用解构赋值的方法去实现 const [x, y, z] arr; console.log(x, y, …