美文网首页测试进阶课
Jmeter监控服务器插件PerfMon

Jmeter监控服务器插件PerfMon

作者: hslzyd | 来源:发表于2018-03-16 15:21 被阅读0次

    简介

    压力测试过程中,也需要对被测服务器的负载情况进行监控,以便分析出服务器的性能瓶颈。这里要讲的就是Jmeter提供的PerfMon插件,通过PerfMon,你可以对服务器的CPU、内存、Swap、磁盘I/O、网络I/O等进行监控。原理什么的网上很多,这里就不再多讲了,简单讲一下安装使用,以及记录一下自己最开始用时碰到的连接不上的坑和解决过程吧。

    安装

    客户端(Jmeter端)

    1、首先给Jmeter安装插件管理器,下载plugins-manager.jar,复制到Jmeter文件夹的lib/ext路径下,重启Jmeter后,在选项菜单中就可以看到plugins-manager了

    安装后的选项菜单
    2、然后打开插件管理器,查找PerfMon勾上勾选,再点击右下角的Apply Changes...按钮即可
    查找PerfMon
    安装重启完成后,在监听器那里就能找到该服务器监听器
    监听器
    服务器端

    1、下载ServerAgent,把下载的ServerAgent-2.2.*.zip复制到服务器端,解压即可
    2、windows的服务器,运行文件夹中的startAgent.bat即可,linux的服务器是运行startAgent.sh(需要jar环境支持,没有安装的自行安装)

    使用方法

    服务器端

    运行startAgent.sh/bat启动ServerAgent,默认是使用4444的TCP/UDP端口,若需要指定端口,如1234则添加如下参数:
    ./startAgent.sh --udp-port 0 --tcp-port 1234 0代表不开启该端口
    出现如下提示则表示已经正常开启

    ServerAgent正常启动
    客户端(Jmeter端)

    1、随便添加一个HTTP请求的sampler,把线程组设为无限循环
    2、添加“jp@gc - PerfMon Metrics Collector”监听器
    3、添加要监控的项目,如CPU、内存等,一行选择一种


    添加监听项

    4、最后运行jmx测试计划就行啦

    碰到的几个坑

    网上相关的教程其实很多了,写这篇主要还是记录一下自己碰到的坑吧,前几天一直连接不上,搜了几天都没找到解决办法。。。这里就给需要的人参考一下

    我的测试环境——客户端:win10(64位),服务端:Ubuntu Server 16.04(64位)

    1、网上包括官方教程都有说开启服务端后,要在客户端telnet一下确定是否连上,但我这里用telnet一直都是连接中,不知道是不是个例。虽然telnet一直是连接中,不过Jmeter插件还是可以正常连上并返回监控数据的,所以如果测试时看到telnet卡在连接中,先直接在Jmeter插件中测试吧。

    2、telnet跟Jmeter中都提示连接超时(Jmeter报错ERROR: java.net.ConnectException: Connection timed out: connect serveragent),如果服务端已经正常启动ServerAgent,而且端口也在正常监听,一般就是client-server的通讯问题,检查两个地方:一是服务端的防火墙,二如果是不在同一个网段,还需要检查一下路由器中的端口有没有被占用。

    最开始我在本机和虚拟机中的服务器中测试,发现死都telnet超时,检查服务器端口没有被占用,服务器自身telnet也是正常,网上搜的基本都是说改端口,试了没用。后来又查了下防火墙设置,最开始以为是iptables,结果根本就没装,后面才发现Ubuntu自带的是ufw...关掉后就正常了,也是坑

    虚拟机连接测试OK后,就试着连阿里云的测试服务器了,一样设置ufw防火墙后,发现又连不上= =,这次是真的找不到原因了,请教运维同事,查了一天才查到原来是路由器上的4444端口被占用了。。。真是坑大了,服务端重新开启ServerAgent指定另一个端口后,连接终于正常了。。。

    相关文章

      网友评论

        本文标题:Jmeter监控服务器插件PerfMon

        本文链接:https://www.haomeiwen.com/subject/cfolqftx.html