jmeter性能分析—使用 ServerAgent 监控服务器

前言
  • 做性能测试,监控服务器资源指标是必须有的一步
  • 这一篇博客将讲解通过 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/1fbpNJ96nmwWbTWbEcfHbpA
提取码:vijl

客户端(Jmeter 端)
  1. 如果通过官网下载的话,就将 JMeterPlugins-Extras.jar 和 JMeterPlugins-Standard.jar 放到 D:\tools\jmeter\apache-jmeter-5.4.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

阿里云 4444 端口不能对外开放

如果是用阿里云服务器,4444 端口是无法对外开放的,所以要通过其他端口来启动 ServerAgent

Jmeter 监控服务器全流程

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

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

  • 介绍一下:图中的线程组
  • 知识点:自定义类型线程组

  • This group will start:总加载线程数100
    Fist,wait for:等待多长时间开始运行,相当于延时多少秒开始执行
    Then start:初次加载多少个线程
    next add 、threads every、using ramp-up:每过10秒加载10线程,10个线程在5秒加载完成,可以理解为总共花费35秒时间,再多10个线程再跑
    then hold load for:所有线程加载完之后,运行60秒
    fianlly,stop /threads every :每1秒停止5个线程,20秒则停止100个线程数

PerfMon Metrics Collector

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

可监控的指标列表

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

运行结果

显而易见!!!中间山峰起来了????

posted @ 2021-09-01 14:39  太白之魔童降世  阅读(691)  评论(0编辑  收藏  举报