在 CentOS 上使用 JMeter 进行 API 测试
一 环境准备
sudo yum install -y java-1.8.0-openjdk-devel/etc/profile 中添加
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdkexport PATH=$PATH:$JAVA_HOME/binjava -version 与 javac -versionwget https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.4.3.tgz && tar -xzf apache-jmeter-5.4.3.tgz -C /opt/ln -s /opt/apache-jmeter-5.4.3 /usr/local/jmeter 或 export PATH=$PATH:/opt/apache-jmeter-5.4.3/binjmeter -v二 编写测试计划
Content-Type: application/json、Authorization: Bearer <token>${uid}、${token}token、userId 等供后续使用三 在 CentOS 上执行与报告
jmeter -n -t /path/test.jmx -l /path/result.jtl -e -o /path/html-report-n 非 GUI;-t 指定脚本;-l 结果文件(JTL/CSV);-e -o 结束后生成 HTML 报告(目录需为空)/opt/apache-jmeter-5.4.3/bin/jmeter ...-j /path/run.log-R host1:1099,host2:1099;需在各节点启动 jmeter-server 并开放 1099 端口jmeter.properties 设置 jmeter.save.saveservice.output_format=xml-o 指定目录,包含 APDEX、响应时间分布、吞吐量、错误率 等关键指标四 常见问题与排错
firewall-cmd --list-ports;放行示例:firewall-cmd --permanent --add-port=8080/tcp && firewall-cmd --reloadcurl http://IP:PORT/health 验证连通性,再执行 JMeterjmeter.properties 设置 sampleresult.default.encoding=UTF-8,并在 HTTP Header 明确 Content-Type: application/json;charset=UTF-8access_token,存入变量并在后续请求的 Header 中使用 ${token}bin/jmeter(或 jmeter 脚本)中的 HEAP 参数,例如:HEAP="-Xms1g -Xmx2g"(根据机器内存调整)-o 目录为空;-l 指定的 JTL 文件不存在,否则会报错(可先备份或删除旧文件)。