首页 > 代码库 > Jmeter监测服务器端性能

Jmeter监测服务器端性能

JMeter是一款压力测试工具,我们也可以用它来监控服务器资源使用情况。
JMeter正常自带可以通过Tomcat的/manager/status来监控服务资源使用情况。这种情况只能监控Tomcat支持的资源使用部分。

本文主要来说一下如何通过JMeter插件来监控服务器CPU、内存、磁盘、网络等相关资源。
JMeter 插件网址:http://jmeter-plugins.org/
Perf Mon 插件 http://jmeter-plugins.org/wiki/PerfMon/

1 服务本身:并发 响应时间 QPS

2 服务器的资源使用情况:cpu memory I/O disk等

JMeter的plugins插件可以实现对"二"的监控,具体操作步骤如下(主要记录我的实践过程):

说明:我的jmeter版本是2.13

一 下载插件

首先进入网址 http://jmeter-plugins.org/downloads/all/ 下载资源
ServerAgent-2.2.1.zip
JMeterPlugins-Standard-1.3.1.zip
JMeterPlugins-Extras-1.3.1.zip

其中JMeterPlugins-Standard和JMeterPlugins-Extras是客户端的,ServerAgent是服务端的。

技术分享

二、配置
将 JMeterPlugins-Standard-1.3.1.zip 中 lib\ext 目录下的 JmeterPlugins-Standard.jar 文件都放到apache-jmeter-2.13\lib\ext目录中。
将 JMeterPlugins-Extras-1.3.1.zip 中 lib\ext 目录下的 JMeterPlugins-Extras.jar 文件放到apache-jmeter-2.13\lib\ext目录中。
将 ServerAgent-2.2.1 放到要监控的服务器中待使用。

  解压客户端的两个文件,进入其路径JMeterPlugins-Extras(Standard)-1.3.1\lib\ext,复制JmeterPlugins-Extras.jar(JmeterPlugins-Standard.jar)两个文件,放到JMeter客户端的lib/ext文件夹中,打开JMeter,可在监听器中看到Permon Metrics Collector,客户端配置成功。

三、监控
1) apache-jmeter-2.12\bin\jmeter.bat 启动JMeter
正常启动成功后截图如下:

技术分享

3 将ServerAgent-2.2.1.jar上传到被测服务器,解压,进入目录,Windows环境,双击ServerAgent.bat启动;linux环境执ServerAgent.sh启动,默认使用4444端口,出现如下情况即服务端成功

技术分享

四 测试使用情况

1 ServerAgent启动的校验

a 在笔记本电脑打开telnet监听(控制面板-程序-打开或关闭Windows功能-telnet客户端勾选打开)

b cmd进入命令框,输入如下内容:

telnet yourip  4444   #连接ServerAgenttest                  #发送test进行测试exit                  #退出,即断开连接

c 观察server端是否有接收到消息,出现如下情况说明ServerAgent打开成功

[root@bjdhj-120-215 ~]# /opt/soft/ServerAgent-2.2.1/startAgent.sh INFO    2016-02-18 10:52:51.749 [kg.apc.p] (): Binding UDP to 4444INFO    2016-02-18 10:52:52.749 [kg.apc.p] (): Binding TCP to 4444INFO    2016-02-18 10:52:52.754 [kg.apc.p] (): JP@GC Agent v2.2.0 startedINFO    2016-02-18 10:56:55.198 [kg.apc.p] (): Accepting new TCP connection        #成功连接INFO    2016-02-18 10:57:00.830 [kg.apc.p] (): Yep, we received the ‘test‘ command #接收到test消息INFO    2016-02-18 10:57:05.185 [kg.apc.p] (): Client disconnected           #断开连接

2 Jmeter客户端的监听测试

a 打开JMeter.bat,添加监听器Permon Metrics Collector-Add Row添加一行monitor配置(修改Host/IP为测试IP)-运行-观察server日志即chart图标内容。

技术分享

 

ServerAgent端的日志:
INFO 2016-02-18 11:02:14.197 [kg.apc.p] (): Accepting new TCP connectionINFO 2016-02-18 11:02:14.243 [kg.apc.p] (): Yep, we received the ‘test‘ commandINFO 2016-02-18 11:02:14.246 [kg.apc.p] (): Starting measures: cpu:INFO 2016-02-18 11:02:14.402 [kg.apc.p] (): Client disconnected

b 运行jmeter时,成功连接然后立刻断开了,并没有获取我们想要的数据。猜想需要一个时间控制的元器件,使其能够获取一段时间的数据。

i 步骤:添加线程组(不添加发送请求),设置循环次数为永远,点击运行。

  结果:成功连接然后立刻断开

ii 添加线程组,设置循环次数为"用玄";为线程组任意添加一个Sampler(并不设置参数);添加一个PerfMon Metrics Collector监听器;点击运行。

  结果:成功获取chart图,点击stop,即结束监听数据。全部配置图如下

技术分享

技术分享

技术分享

Jmeter监测服务器端性能