Jmeter压力测试之服务器性能检测PerfMon & ServerAgent

发布时间:2025-12-10 11:35:19 浏览次数:13

Jmeter压力测试接口

  • 为什么用Jmeter做接口压力测试?
    • Jmeter 插件下载、安装
    • Jmeter配置PerfMon Metrics Collector
    • 常见问题及解决办法

为什么用Jmeter做接口压力测试?

插件丰富,
不需编码

Jmeter 插件下载、安装

官方网站:https://jmeter-plugins.org:

  • Plugins Manager ,从https://jmeter-plugins.org/install/Install/页面下载 plugins-manager.jar,放到lib/ext目录下,然后重启Jmeter ;选项菜单底部可以看到 Plugins Manager

  • 切换到 Available Plugins标签,搜索PerfMon(Servers Performance Monitoring) 并安装;

  • 搜索jpgc - Standard Set 并安装;

  • PerfMon Server Agent: 下载地址及安装说明参考: https://github.com/vitoi/perfmon-agent

  • Jmeter配置PerfMon Metrics Collector

    • 右键测试计划下方线程组->添加->监听器->jp@gc - PerfMon Metrics Collector

    • 点击jp@gc - PerfMon Metrics Collector,添加服务器监听项,比如CPU,Memory, Disks I/O, Network I/O。注意:端口和服务端打开端口保持一致。

    • 浏览本地文件,选择一个csv文件

    • 服务器需开启对应的端口,命令如下:

    ./startAgent.sh --udp-port 4444 --tcp-port 4444
    • Jmeter启动线程组即可观察数据
    • 注意:

    常见问题及解决办法

    • 服务器报Client disconnected
      该问题是因为进程只执行了一次,client只执行了很短的状态就断开了。并且在PerfMon Metrics Collector中也没有任何数据。
      解决办法:
      在线程组中将循环次数改为永远
    • Jmeter报错:ERROR: java.net.ConnectException: Connection timed out: connect,初步排查发现服务器端口可以ping通但是telnet不通
      可能原因:
  • 端口没有开启
  • 防火墙拦截
    对应原因1,云服务器需要添加安全组规则,参考: https://cloud.tencent.com/document/product/213/34601
    对应原因2,
    查看防火墙状态:
  • systemctl status firewalld

    开启防火墙:

    systemctl start firewalld

    关闭防火墙:

    systemctl stop firewalld
    需要做网站?需要网络推广?欢迎咨询客户经理 13272073477