51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4424|回复: 0
打印 上一主题 下一主题

[原创] 如何利用ServerAgent实现JMeter监控服务器

[复制链接]
  • TA的每日心情
    擦汗
    3 天前
  • 签到天数: 1042 天

    连续签到: 4 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2021-4-29 13:25:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    我们常采用发压+监控的模式对服务器进行性能测试,该模式需要在发压机和服务器分别执行脚本,以获取被测服务器在受压期间的各项指标。而手工调起nmon或top需要远程登录服务器,且需要在测试结束后将结果再次传回,另外语句参数多、没有GUI,导致该方法在多场景、高频率的测试中十分麻烦。本文介绍了一种利用JMeter插件PerfMon搭配ServerAgent实现一键发起性能测试的方法,以节省测试中不必要的手工操作。


      1、在目标服务器配置ServerAgent
      首先需要在被测服务器配置ServerAgent,在https://github.com/undera/perfmon-agent下载zip包,在服务器解压后,Windows系统直接运行startAgent.bat,Linux类系统对文件夹授后执行startAgent.sh,默认使用端口4444,出现以下截图则启动成功,也可用telnet localhost 4444进行确认。


      开启后无需再次配置,若长期使用,可使用nohup或tmux运行.sh,在远程访问断开后不杀死进程。

      2、JMeter插件安装
      服务器配置好后,安装性能监控插件PerfMon。在https://jmeter-plugins.org/搜索PerfMon,下载后覆盖至JMeter安装路径lib目录下。


      3、PerfMon的使用
      右键添加监听器中的PerfMon Metrics Collector。


      点击Add Row增加监控指标,Host列填写服务器ip,此处以localhost为例,在Metric to collect列选择所需的监控指标,点击Metric parameter右侧按钮,展开详细设定。另外为了在测试结束后对指标进行进一步分析,可选择所需信息导出至CSV。




      4、常见问题及解决方法
      1)服务器端口号占用
      ServerAgent启动时提示端口占用,可使用lsof -i查看端口占用情况,可杀死占用4444的进程或使用其他端口再启动程序。

      2)缺少对应系统的sigar包
      ServerAgent启动时报错找不到本系统的Sigar包,可下载后放入lib文件夹,重启ServerAgent即可。

      3)Java版本过高
      ServerAgent启动时报错出现JRE version类错误,可能是Java版本过高出现的不兼容问题。
      以上为借助ServerAgent实现JMeter监控服务器性能指标的方法,后续还可借助python或其他第三方工具对导出的csv进行分析。
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-10 06:55 , Processed in 0.059921 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表