在CentOS上使用JMeter进行负载测试
一 环境准备与安装
sudo yum install -y java-1.8.0-openjdk-develjava -versionwget https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.4.3.tgztar -zxvf apache-jmeter-5.4.3.tgz -C /usr/local//etc/profile 或 ~/.bashrc):
export JMETER_HOME=/usr/local/apache-jmeter-5.4.3export PATH=$JMETER_HOME/bin:$PATHsource /etc/profilejmeter -vlrzsz):
sudo yum install -y lrzszrz,选择本地的 .jmx 脚本二 编写与执行测试
jmeter -n -t /path/to/test.jmx -l /path/to/results.jtl-n 非 GUI 模式-t 指定 .jmx 脚本-l 指定结果文件 .jtl-e -o /path/to/report 测试结束后直接生成 HTML 报告jmeter -n -t test.jmx -l result.jtl -e -o report三 结果分析与可视化
jmeter -g /path/to/results.jtl -o /path/to/report四 分布式压测与负载均衡测试
jmeter.properties 中设置:remote_hosts=192.168.1.158,192.168.1.159server.rmi.localport=1099,server.rmi.ssl.disable=truebin 目录执行 ./jmeter-server(或 jmeter-server,视版本而定)jmeter -n -t test.jmx -l result.jtl -R 192.168.1.158,192.168.1.159五 性能与稳定性调优建议
bin/jmeter 或 jmeter.sh,设置堆大小(如 -Xms2g -Xmx8g,不超过物理内存的 2/3),避免 OOM 或频繁 GC 影响结果。/etc/security/limits.conf,设置 * soft/hard nofile 65536,* soft/hard nproc 65565,并执行 ulimit -n 102400 临时生效net.ipv4.ip_local_port_range=1024 65000、net.ipv4.tcp_tw_reuse=1、net.ipv4.tcp_fin_timeout=30,执行 sysctl -p 生效worker_connections、keepalive_timeout 等以应对高并发连接