温馨提示×

centos jmeter如何压测接口

小樊
42
2026-09-30 12:35:36
栏目: 智能运维

下面给你一个在 CentOS 上使用 JMeter 压测接口 的完整实操流程,从环境准备到执行和结果分析,适合新手直接照做。


一、环境准备(CentOS)

1. 安装 JDK(JMeter 依赖 Java)

java -version

如果没有 Java,安装 OpenJDK:

yum install -y java-1.8.0-openjdk

确认安装成功:

java -version

2. 下载并安装 JMeter

cd /opt
wget https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.6.3.tgz
tar -zxvf apache-jmeter-5.6.3.tgz
mv apache-jmeter-5.6.3 jmeter

配置环境变量(可选):

vim /etc/profile

添加:

export JMETER_HOME=/opt/jmeter
export PATH=$JMETER_HOME/bin:$PATH

生效:

source /etc/profile

验证:

jmeter -v

二、两种压测方式

方式一:GUI 方式(仅本地调试,不用于真正压测)

jmeter

⚠️ 注意:GUI 模式只适合写脚本,真实压测必须在命令行。


方式二:命令行压测(推荐)

1. 在 Windows / Mac 上写好 JMeter 脚本

  • 新建 Test Plan
  • 添加 Thread Group
  • 添加 HTTP Request
  • 填写接口地址、路径、参数
  • 保存为:test_api.jmx

把 test_api.jmx 上传到 CentOS:

scp test_api.jmx root@centos_ip:/opt/jmeter/

2. 在 CentOS 执行压测

cd /opt/jmeter
jmeter -n -t test_api.jmx -l result.jtl -e -o report

参数说明:

  • -n:非 GUI 模式
  • -t:测试脚本
  • -l:结果文件
  • -e -o:生成 HTML 报告

压测完成后:

ls report

三、示例:压测一个 HTTP 接口

HTTP Request 示例

  • Protocol:http
  • Server Name:api.example.com
  • Port:8080
  • Path:/api/login
  • Method:POST
  • Body:
{
  "username":"test",
  "password":"123456"
}

四、线程数设置建议

场景 线程数 Ramp-up
调试 1–5 1
普通压测 50–200 10
高并发 500–1000 30

示例:

  • 100 用户,10 秒内启动,循环 10 次

五、查看压测结果

1. 命令行结果

cat result.jtl | head

2. HTML 报告

把 report 目录下载到本地浏览器打开:

scp -r root@centos_ip:/opt/jmeter/report ./

查看指标:

  • TPS
  • 平均响应时间
  • 错误率
  • 90% / 99% 响应时间

六、常见问题

1. 端口未开放

firewall-cmd --list-ports

2. 内存不足

修改:

vim /opt/jmeter/bin/jmeter

调整:

HEAP="-Xms1g -Xmx2g"

3. 分布式压测(高并发)

  • 一台 Master
  • 多台 Slave
jmeter -n -t test.jmx -R slave1,slave2 -l result.jtl

七、总结流程

写脚本 → 上传 CentOS → 命令行压测 → 生成报告 → 分析结果

如果你愿意,可以告诉我:

  • 接口是 HTTP / HTTPS / WebSocket
  • 压测目标(TPS / 并发数)
  • 是否要 分布式压测

我可以直接帮你写一份 可用的 JMX 示例。

0 踩