Jmeter学习之五_跟踪被测试服务器的performance

jmeter,学习,跟踪,测试,服务器,performance · 浏览次数 : 62

小编点评

**性能分析工具和资料** * **PerfMon Agent**:这是一个用于监控远程服务器性能的工具。 * **Jmeter ServerAgent**:该工具可以用于与远程服务器通信并监控其性能。 * **OpenJDK Runtime Environment**:OpenJDK Runtime Environment是一个用于运行 Java 应用程序的运行环境。 **安装和配置** 1. 下载 PerfMon Agent 的源代码:`github.com/undera/perfmon-agentPerf` 2. 安装 PerfMon Agent:将 `perfmon-agent.exe` 文件复制到 `C:\Program Files\PerfMon Tools` 中。 3. 设置 PerfMon Agent 的端口。默认端口是 4444。 **启动 ServerAgent** 1. 创建一个名为 `ServerAgent.bat` 的文件。 2. 在 `ServerAgent.bat` 中添加以下命令: ```batch @echo off set "PerfMon_Port=4444" java -jar perfmon-agentPerf.jar --tool PerfMonAgent %* ``` 3. 双击 `ServerAgent.bat` 文件启动 ServerAgent。 **监控性能** 1. 在 jMeter 中添加一个 **Monitor**。 2. 在 Monitor 的属性中设置以下选项: * **Server Name**:远程服务器的名称。 * **Port**:监控的端口,默认是 4444。 * **Metrics**:要监控的性能指标,例如 CPU 使用率、内存使用率等。 3. 点击 **Add** 按钮添加监控器。 **注意事项** * 请确保您的远程服务器运行 OpenJDK 1.8 或更高版本。 * 确保您已经开放了与服务器通信的端口。 * 可以根据您的需求添加多个监听器以监控不同的性能指标。

正文

Jmeter学习之五_跟踪被测试服务器的performance


背景

这几天简单学习了一些基本的测试过程. 
可以实现一些简单基本的功能了. 
今天晚上继续进行了jmeter的一些学习. 

想着可以在测试人大金仓的同时可以查看一下本地的机器性能. 

用到的工具以及资料

https://www.cnblogs.com/pachongshangdexuebi/p/13354201.html

Agent的下载地址: 
https://github.com/undera/perfmon-agent

Perf的安装
使用 plugins manager 安装的插件为:
PerfMon (Servers Performance Monitoring)

需要注意
PerfMon是关联 Agent的暴露的端口进行展示和处理. 

遇到的问题

Win11 自带的jdk的版本为:
openjdk version "11.0.16.1" 2022-08-12 LTS
OpenJDK Runtime Environment Microsoft-40648 (build 11.0.16.1+1-LTS)
OpenJDK 64-Bit Server VM Microsoft-40648 (build 11.0.16.1+1-LTS, mixed mode)

但是这个版本的jdk以及更高的LTS_OpenJDK17的版本在运行之后. perfMon 进行数据获取时会出现严重问题:
主要如下:
比较折腾. 但是将OpenJDK的版本降低到1.8.372之后就没有这个问题了.
下载地址为:
https://builds.openlogic.com/downloadJDK/openlogic-openjdk/8u372-b07/openlogic-openjdk-8u372-b07-windows-x64.zip

注意 我这边特别喜欢使用zip/tar.gz 的包进行安装, 并且不修改环境变量
直接使用绝对/相对路径进行处理.能够极大的减少相关的工作量. 

高版本报错的提示信息为: 

D:\apache-jmeter-5.6\ServerAgent-2.2.3>startAgenterror.bat
INFO    2023-07-03 22:04:13.412 [kg.apc.p] (): Binding UDP to 4444
INFO    2023-07-03 22:04:13.430 [kg.apc.p] (): Binding TCP to 4444
INFO    2023-07-03 22:04:13.432 [kg.apc.p] (): JP@GC Agent v2.2.3 started
INFO    2023-07-03 22:04:18.016 [kg.apc.p] (): Accepting new TCP connection
INFO    2023-07-03 22:04:18.018 [kg.apc.p] (): Yep, we received the 'test' command
INFO    2023-07-03 22:04:18.018 [kg.apc.p] (): Starting measures: memory:       cpu:    disks i/o:
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000010014ed4, pid=25212, tid=9636
#
# JRE version: OpenJDK Runtime Environment Microsoft-40648 (11.0.16.1+1) (build 11.0.16.1+1-LTS)
# Java VM: OpenJDK 64-Bit Server VM Microsoft-40648 (11.0.16.1+1-LTS, mixed mode, tiered, compressed oops, g1 gc, windows-amd64)
# Problematic frame:
# C  [sigar-amd64-winnt.dll+0x14ed4]
#
# No core dump will be written. Minidumps are not enabled by default on client versions of Windows
#
# An error report file with more information is saved as:
# D:\apache-jmeter-5.6\ServerAgent-2.2.3\hs_err_pid25212.log
#
# If you would like to submit a bug report, please visit:
#   https://github.com/microsoft/openjdk/issues
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.

监控使用过程-agent

使用 OpenJDK1.8的版本启动 server_agent
注意我是Windows的本地进行的: 
修改 ServerAgent.bat 内的的启动脚本,改为 OpenJDK的绝对路径: 
D:\apache-jmeter-5.6\ServerAgent-2.2.3\openjdk-8u372\bin\java.exe -jar %0\..\CMDRunner.jar --tool PerfMonAgent %*

然后启动agent 双击就可以了. 
注意可能要放开防火墙的限制, 默认监控的端口是: 4444

监控使用构成-监控端

在测试计划->进程组->添加->监听器->jp@gc - PerfMon Metrics Collector

在右侧的 server to monitor 处进行选择. 

通过 Add row的方式进行添加

需要注意, 不要一定添加过多的的row 不然非常难看. 

其实可以添加多个 监听器监听不同的元素效果也不错.

监控效果为:

image


欢迎关注我的公众号一起学习进步

image

与Jmeter学习之五_跟踪被测试服务器的performance相似的内容:

Jmeter学习之五_跟踪被测试服务器的performance

# Jmeter学习之五_跟踪被测试服务器的performance ## 背景 ``` 这几天简单学习了一些基本的测试过程. 可以实现一些简单基本的功能了. 今天晚上继续进行了jmeter的一些学习. 想着可以在测试人大金仓的同时可以查看一下本地的机器性能. ``` ## 用到的工具以及资料 ```

Jmeter学习之四_kingbaseV8R6数据库的简单验证

# Jmeter学习之四_kingbaseV8R6数据库的简单验证 ## 背景 ``` 周一没去报道, 因为我忘记体检了... 继续在家进行学习提高自己. jmeter周末时开始看的. 今天想着继续研究一下对数据库的处理 突然发现人大金仓的官方csdn有一个文档, 所以想着偷师,并且总结学习一下.

Jmeter学习之七_使用influxdb2.7和grafana10进行Jmeter测试结果展示的方法

# Jmeter学习之七_使用influxdb2.7和grafana10进行Jmeter测试结果展示的方法 ## 摘要 ``` 前几天验证了 线程组内的-监听器 jp@gc 相关的组件 以及验证了 server-agent的方式可以监控机器的性能表现. 但是发现很多结果集是比较杂乱 并且不太好查看的

Jmeter学习之八_测试kafka

# Jmeter学习之八_测试kafka ## 背景 ``` 最近在持续学习. 昨天学习了grafana展示Jmeter测试数据库的结果 今天想着能够测试一下kafka验证一下kafka的吞吐量等信息 说干就干的. ``` ## 遇到的坑 ``` 本来计划使用pepper-box 或者是 kafka

Jmeter学习之六_进行https证书处理的工作

# Jmeter 进行https证书处理的工作 ## 背景 ``` 继续学习中,想着能够抓取一下https相关的信息 所以计划些一下处理过程 但是感觉自己这一块比较薄弱. 场景设计这一块应该是专业人去搞, 我这边先只是简单学习了解一下. ``` ## 创建证书 ``` 要使用 keytool 工具创

[转帖]jmeter学习笔记(二十二)——监听器插件之jp@gc系列

一、jp@gc - Actiive Threads Over Time 不同时间活动用户数量展示 下面是一个阶梯加压测试的图标 二、jp@gc - Transactions per Second ,即TPS:每秒事务数 性能测试中,最重要的2个指标之一。该插件的作用是在测试脚本执行过程中,监控查看服

[转帖] Jmeter学习笔记(七)——监听器元件之察看结果树

https://www.cnblogs.com/pachongshangdexuebi/p/11507289.html 在jmeter中,如果我们需要查看请求结果就需要添加查看结果树,这个监听器元件有那些功能呢? 一、察看结果树界面如下 二、察看结果树界面功能说明 1、所有数据写入文件 (1)文件名

[转帖]Jmeter学习笔记(八)——监听器元件之聚合报告

https://www.cnblogs.com/pachongshangdexuebi/p/11507298.html 1、聚合报告添加 聚合报告是常用的监听器之一,添加路径: 点击线程组->添加->监听器->聚合报告 2、聚合报告界面及说明 Label:请求的名称,就是我们在进行测试的httpre

[转帖]Jmeter学习笔记(十九)——后置处理器之正则表达式的使用

https://www.cnblogs.com/pachongshangdexuebi/p/11733005.html 一、正则表达式提取器的作用 允许用户从服务器的响应中通过使用perl的正则表达式提取值。作为一个后置处理器,该元素会作用在指定范围的取样器,应用正则表达式,提取所需要的值,生成模板

[转帖]badboy与jmeter的结合使用

`https://blog.csdn.net/weixin_41754309/article/details/107106855` 欢迎关注【无量测试之道】公众号,回复【领取资源】, Python编程学习资源干货、 Python+Appium框架APP的UI自动化、 Python+Selenium框