Jmeter系列(35)- 使用 ServerAgent 监控服务器

如果你想从头学习Jmeter,可以看看这个系列的文章哦

https://www.cnblogs.com/poloyy/category/1746599.html

前言

  • 做性能测试,监控服务器资源指标是必须有的一步
  • 这一篇博客将讲解通过 Jmeter 插件来监控服务器,再通过 Jmeter 观察监控结果

下载、安装、运行插件

  1. JMeterPlugins-Extras.jar
  2. JMeterPlugins-Standard.jar
  3. ServerAgent-2.2.3.zip

可以通过官方下载: https://jmeter-plugins.org/downloads/old/

注意

  • 前两个插件最新版本在官网已经不提供下载了,只能下载旧版本,官方建议通过 Plugins Manager 下载需要的插件哦
  • 博主安装了以下插件,已经包含上面讲的前两个插件了

这里也提供百度云下载链接哈

链接:https://pan.baidu.com/s/1bAaKqGoyaTVoq5picgBGMw

提取码:q92i

客户端(Jmeter 端)

  1. 如果通过官网下载的话,就将 JMeterPlugins-Extras.jar 和 JMeterPlugins-Standard.jar 放到   D:\apache-jmeter- 5.2 . 1 \lib\ext  
  2. 然后通过 PerfMon Metrics Collector 监听器进行服务器性能数据显示

服务端(Linux)

将 ServerAgent-2.2.3.zip 放到任意目录下,解压

unzip  ServerAgent-2.2.3.zip 

进入 ServerAgent 目录

我提供的 ServerAgent 里面,两个 start 脚本已经是可执行脚本了,直接运行即可

./startAgent.sh

运行成功,则会出现下图

如果无法运行,则需要给脚本赋权

chmod 777 startAgent.sh

如果是想 监控 Window 机器 ,则将 ServerAgent 放到 Window 电脑的目录下,然后直接双击运行   startAgent.bat 即可

划重点

  • 启动 ServerAgent 的前提是系统 已安装配置好 Java 环境
  • 默认占用端口是 4444

启动 ServerAgent 可能会出现的问题

端口被占用

杀掉占用 4444 端口的进程

  1. 先查出 4444 端口是什么进程占用
  2. 然后查看进程详情,确认是否能杀掉
  3. 如果可以,则杀掉、

ServerAgent 通过其他端口启动

./startAgent.sh --udp-port 0 --tcp-port 1234

0 代表不开启该端口,一般我们只用 tcp 足以

端口未对外开放

  • 如果服务器开启了防火墙,而且之前没用过 4444 端口,那么该端口很可能会被禁用
  • 为了解决防火墙和开放端口的问题,可以参考这篇博文: https://www.cnblogs.com/poloyy/p/12213297.html

Jmeter 监控服务器全流程

一个简单的负载测试线程组结构树

一般做负载测试,会监控服务器资源、活动线程数、响应时间、TPS等等,所以加了一堆监听器

PerfMon Metrics Collector

IP 自然就是填需要监控的服务器 IP啦,如果是监控本机就填 127.0.0.1 就好了

可监控的指标列表

还挺多,不过一般重点关注前面四个就好了

运行结果

我的 cpu 真高…因为数据库出现死锁了,回头可以好好性能分析一波了!