JMeter 在 CentOS 上的常见性能瓶颈与定位方法
一、瓶颈分类与典型症状
JVM 与内存瓶颈
CPU 瓶颈
网络带宽与端口瓶颈
nload/ifconfig 看到网卡吞吐触顶(如 25 Mbps 外网或 1.5/10 Gbit/s 内网场景);netstat 显示大量连接处于 TIME_WAIT。文件描述符与内核网络参数瓶颈
ulimit -n 过小、/proc/sys/net/ipv4/ip_local_port_range 过窄、tcp_tw_reuse/tcp_fin_timeout 不合理。磁盘 I/O 瓶颈
top/vmstat 中 wa(I/O 等待)持续偏高;iostat -x 中 %util≈100%、await 高;JMeter 生成/写入 JTL/HTML 报告 时显著变慢。二、快速定位步骤与关键命令
top/htop、vmstat 1 5(关注 us、sy、wa、r、b)。iostat -x 1 5(关注 %util、await、avgqu-sz)、iotop 定位高 I/O 进程。nload <网卡名>、ifconfig <网卡名>、ethtool <网卡名> 查看带宽与速率。jmeter -n -t test.jmx -l result.jtl,避免 GUI 监听器消耗。jmeter.save.saveservice.output_format=csv),必要时再生成 HTML 报告。jstat -gc <pid>、jmap -dump 导出堆转储,排查对象膨胀与泄漏。三、针对性优化要点
-Xms4g -Xmx4g;优先选用 G1 GC 降低停顿(如 -XX:+UseG1GC)。ulimit -n 65536、/etc/security/limits.conf 设置 * soft/hard nofile 65536、* soft/hard nproc 65565。net.ipv4.ip_local_port_range = 1024 65000、net.ipv4.tcp_tw_reuse=1、net.ipv4.tcp_fin_timeout=30。deadline/noop)。四、何时考虑分布式压测