在Jmeter负载测试期间,有时需及时了解目标服务器的运行状况以方便对性能问题进行定位。Jmeter PerMon 插件可以解决该问题,通过该插件可以支持服务器端或目标服务器端的性能监视,比如可以监视目标服务器上的CPU,内存,磁盘I / O和网络I / O的使用情况等。本文主要介绍该插件的安装和使用步骤方便大家理解,分为如下三个小节:

  • JMeter PerfMon插件安装
  • PerfMon ServerAgent 简介
  • 监控目标服务器性能

JMeter PerfMon插件安装

首先,进行Jmeter插件安装,Jmeter插件安装最简单方法是安装JMeter插件管理器, 访问网站https://jmeter-plugins.org/install/Install/#Installing-Plugins,下载plugins-manager.jar,并将其放入到Jmeter安装子目录lib / ext下面,然后重新启动Jmeter,就可以在Jmeter 选项菜单下发现“Plugins Manager”子菜单:

Jmeter服务器资源监控ServerAgent无法连接 jmeter 服务器性能监控_测试计划

通过“Plugins Manager” 菜单,可以查看已安装的插件和可以安装的插件,如下所示:

Jmeter服务器资源监控ServerAgent无法连接 jmeter 服务器性能监控_服务器性能_02

然后,继续安装JMeter服务器性能监控插件 (PerfMon),通过该插件可以在JMeter负载测试期间,及时了解目标服务器的运行状况方便对性能问题进行定位,该插件支持目标服务器的性能监视,可以监视所有平台上的CPU,内存,磁盘I / O和网络I / O的使用情况,选择PerfMon (Servers Performance Monitoring)插件进行安装,如下图所示:

Jmeter服务器资源监控ServerAgent无法连接 jmeter 服务器性能监控_测试计划_03

服务器性能监控插件 (PerfMon)

安装后,在Jmeter中添加监听器PerfMon,该插件的外观示例如下所示,显示了负载测试中涉及的2台服务器的CPU使用率和 内存使用率:

Jmeter服务器资源监控ServerAgent无法连接 jmeter 服务器性能监控_测试计划_04

PerfMon服器代理 介

PerfMon ServerAgent可以对被测目标服务器进行性能监控,并把服务器监控信息回传给Jmeter控制机。注意在实际性能测试时不推荐使用服务器性能监控,因为网络,机器负载从服务器反馈监控信息到负载机会消耗资源,影响测试结果。

读者可访问https://github.com/undera/perfmon-agent/blob/master/README.md#supported-metrics下载PerfMon ServerAgent安装包。

安装PerfMon ServerAgent

可将ServerAgent-X.X.X.zip解压缩到目标服务器上的某个位置。在Unix上使用startAgent.sh脚本或在Windows上使用startAgent.bat脚本启动ServerAgent。可指定监听端口号,默认值为4444,如下所示:

 

Jmeter服务器资源监控ServerAgent无法连接 jmeter 服务器性能监控_服务器_05

Jmeter服务器资源监控ServerAgent无法连接 jmeter 服务器性能监控_测试计划_06

可以使用—sysinfo 选项查看可用的系统对象,如:

Jmeter服务器资源监控ServerAgent无法连接 jmeter 服务器性能监控_测试计划_07

监控目标服务器性能

在本文中,作为演示,创建Jmeter测试计划,执行测试计划,监控本机的性能,本示例中,监控的目标服务器和Jmeter负载机位于同一台机器上。在实际系统中,监控的目标服务器和Jmeter 往往位于不同的服务器上。

下载并在Jmeter中导入性能监控测试计划示例,该示例对jakarta.apache.org 网站进行性能测试,在测试的同时,监听本机的CPU和内存使用情况。

在测试计划中添加jp@gc-PerfMon Metrics Collector 监听器,然后在Servers to Monitor表格中添加被监控的机器信息及监控项,如下图所示:

Jmeter服务器资源监控ServerAgent无法连接 jmeter 服务器性能监控_服务器性能_08

Jmeter服务器资源监控ServerAgent无法连接 jmeter 服务器性能监控_测试计划_09

本机安装ServerAgent后, 启动ServerAgent,执行测试计划:

Jmeter服务器资源监控ServerAgent无法连接 jmeter 服务器性能监控_服务器性能_10

监控目标服务器结果:

Jmeter服务器资源监控ServerAgent无法连接 jmeter 服务器性能监控_服务器_11

总结

本文示例可以(链接:https://pan.baidu.com/s/1aj7Lm7bTwNfQ4g7ugJ9G0A  密码:47dp)下载。通过本文介绍的Jmeter服务器端性能监控,可以在Jmeter负载测试期间,及时了解目标服务器的运行状况以方便对性能问题进行定位。

如需学习Jmeter的更多方法和各种实践脚本,包含学习将近20个JMeter测试脚本 通过该课程,能够很好的快速掌握JMeter的通用开发方法。