转自:https://www.cnblogs.com/poloyy/
一、前言
- 做性能测试,监控服务器资源指标是必须有的一步
- 这一篇博客将讲解通过 Jmeter 插件来监控服务器,再通过 Jmeter 观察监控结果
二、下载、安装、运行插件
- JMeterPlugins-Extras.jar
- JMeterPlugins-Standard.jar
- ServerAgent-2.2.3.zip
可以通过官方下载:https://jmeter-plugins.org/downloads/old/
注意
- 前两个插件最新版本在官网已经不提供下载了,只能下载旧版本,官方建议通过 Plugins Manager 下载需要的插件哦
2.1 客户端(Jmeter 端)
- 如果通过官网下载的话,就将 JMeterPlugins-Extras.jar 和 JMeterPlugins-Standard.jar 放到 D:apache-jmeter-5.2.1libext
- 然后通过 PerfMon Metrics Collector 监听器进行服务器性能数据显示
2.2 服务端(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
即可
2.3 划重点
- 启动 ServerAgent 的前提是系统
已安装配置好 Java 环境
- 默认占用端口是 4444
三、启动 ServerAgent 可能会出现的问题
3.1 端口被占用
- 先查出 4444 端口是什么进程占用
- 然后查看进程详情,确认是否能杀掉
- 如果可以,则杀掉、
3.2 ServerAgent 通过其他端口启动
./startAgent.sh --udp-port 0 --tcp-port 1234
0 代表不开启该端口,一般我们只用 tcp 足以
3.3 阿里云 4444 端口不能对外开放
如果是用阿里云服务器,4444 端口是无法对外开放的,所以要通过其他端口来启动 ServerAgent
四、Jmeter 监控服务器全流程
4.1 一个简单的负载测试线程组结构树
一般做负载测试,会监控服务器资源、活动线程数、响应时间、TPS等等,所以加了一堆监听器
4.2 PerfMon Metrics Collector
IP 自然就是填需要监控的服务器 IP啦,如果是监控本机就填 127.0.0.1 就好了
4.2.1 可监控的指标列表
还挺多,不过一般重点关注前面四个就好了
4.3 运行结果
我的 cpu 真高...因为数据库出现死锁了,回头可以好好性能分析一波了!