如果你想从头学习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.\lib\ext
  2. 然后通过 PerfMon Metrics Collector 监听器进行服务器性能数据显示

服务端(Linux)

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

进入 ServerAgent 目录

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

./startAgent.sh
运行成功,则会出现下图
如果无法运行,则需要给脚本赋权
chmod  startAgent.sh
如果是想监控 Window 机器,则将 ServerAgent 放到 Window 电脑的目录下,然后直接双击运行  startAgent.bat 即可
 

划重点

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

启动 ServerAgent 可能会出现的问题

端口被占用

杀掉占用 4444 端口的进程

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

ServerAgent 通过其他端口启动

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

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

端口未对外开放

如果服务器开启了防火墙,而且之前没用过 4444 端口,那么该端口很可能会被禁用

为了解决防火墙和开放端口的问题,可以参考这篇博文:https://www.cnblogs.com/poloyy/p/12213297.html

 

Jmeter 监控服务器全流程

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

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

PerfMon Metrics Collector

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

可监控的指标列表

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

运行结果

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

Jmeter系列(35)- 使用 ServerAgent 监控服务器的更多相关文章

  1. Jmeter系列(35)- 设置JVM内存

    场景 单台机器的下JMeter启动较大线程数时可能会出现运行报错的情况,或者在运行一段时间后,JMeter每秒生成的请求数会逐步下降,直到为0,即JMeter运行变得很"卡",这时 ...

  2. Jmeter系列(38)- 详解性能监控工具 nmon

    如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 前言 做性能测试,服务器监控是至关重要 ...

  3. Jmeter系列(9)- jmeter插件入门篇

    如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 前言 jmeter4.0以上,如现在最 ...

  4. JMeter接口压测——ServerAgent监控服务端性能指标

    ServerAgent作为一个服务端性能监控插件,结合JMeter自身插件PerfMon可以实现JMeter压测的图形化实时监控,具有良好的实用性.下面讲解一个应用实例 思路: 1. 插件准备 2.打 ...

  5. Jmeter系列培训(1)--开山篇

    ​       一直以来,我们不断分享,有的人喜欢,也有的人不喜欢,这都没什么,喜欢的点个赞,留个言,不喜欢的就不看好了,今天我们继续,关于jmeter我们分享了很多工作遇到的问题的解决方案,但是很多 ...

  6. JMeter 系列之—-01使用

    用Jmeter 做压测,总体与LoadRunner 类似: 一.线程组 1. 线程数 2. 循环次数 单个线程循环次数 3. Ramp-up Period(in seconds) [1]决定多长时间启 ...

  7. Jmeter性能测试,使用ServerAgent监控服务端性能指标

    一.jmeter1.下载JMeter Plugins Manager.jar放到你的jmeter\lib\ext目录下2.启动jmeter,进入Plugins Manager找到perfmon安装这个 ...

  8. Jmeter系列(2)- Jmeter工具介绍、Jmeter安装目录介绍、Jmeter面板介绍

    如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html Jmeter支持哪些测试场景? Jme ...

  9. Jmeter系列(1)- 环境部署

    如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 官网下载Jmeter http://j ...

随机推荐

  1. Chisel3-Intellij IDEA安装Scala插件

    https://mp.weixin.qq.com/s/xTk5ucvSNuwsh8C6E362cg   后续开启RISC-V开发相关内容.   RISC-V开发推荐使用Chisel编程语言.Chise ...

  2. Rocket - diplomacy - TransferSizes

    https://mp.weixin.qq.com/s/Sf0owQxWzxacVvykJZ5oTQ   介绍TransferSizes的实现.   ​​   1. 基本定义   从min到max的闭合 ...

  3. XStream学习手册

    ​​ 一.前言 1.XStream官网 http://x-stream.github.io 2.XStream是什么 XStream是一个简单的基于Java的类库,用来将Java对象序列化成XML(J ...

  4. Java实现 LeetCode 172 阶乘后的零

    172. 阶乘后的零 给定一个整数 n,返回 n! 结果尾数中零的数量. 示例 1: 输入: 3 输出: 0 解释: 3! = 6, 尾数中没有零. 示例 2: 输入: 5 输出: 1 解释: 5! ...

  5. Java实现LeetCode 139 单词拆分

    public boolean wordBreak(String s, List<String> wordDict) { if(s.length() == 0){ return false; ...

  6. 【asp.net core 系列】5 布局页和静态资源

    0. 前言 在之前的4篇的内容里,我们较为详细的介绍了路由以及控制器还有视图之间的关系.也就是说,系统如何从用户的HTTP请求解析到控制器里,然后在控制器里处理数据,并返回给视图,在视图中显示出来.这 ...

  7. 【shell】十分钟轻松入门;如果没入门,您吐口口水再走吧!

    一.什么是shell? Shell是什么? 1.Shell 是一个程序,Linux默认是用bash. Shell 是一个用 C 语言编写的程序,既是一种命令语言,又是一种程序设计语言,是用户使用Lin ...

  8. Nice Jquery Validator DOM 绑定

    针对表单的绑定 示例:在 form 上绑定 data-validator-option 来配置参数 <form data-validator-option='{stopOnError:false ...

  9. Java学习之多线程详解

    一.多线程的实现 1.继承Thread类 ​ a.子类继承Thread类具备多线程能力 ​ b.启动线程:子类对象.start() ​ c.不建议使用:避免OOP单继承局限性 package com. ...

  10. mysql where与 having的区别

    where是针对磁盘的数据文件,having是针对存在内存的结果集的筛选. 例如: select name ,(xxx - xxx) as a from table where a > 10; ...