网站并发压力测试实战指南(基于 JMeter)

网站并发压力测试实战指南(基于 JMeter)
Kay在网站或 API 上线前,我们通常需要知道服务器能同时扛住多少人访问(即“高并发”)。如果只是自己用鼠标疯狂刷新,根本无法模拟真实的压力场景。这时候,我们就需要用到专业的开源压测工具:JMeter。
这篇文章专为零基础小白编写,跟着以下步骤,你将能从零开始,独立完成一次标准、真实的 100 并发压力测试。
阶段一:环境准备与安装
JMeter 是一款基于 Java 开发的软件,所以我们需要先配置好基础环境。
1. 安装 Java 环境 (JDK)
- 去 Oracle 官网或搜索下载 JDK 8 或更高版本(推荐 JDK 11 或 17)。
- 一路点击“下一步”完成安装,并确保配置好了系统的环境变(打开电脑的命令行/终端,输入
java -version,如果能输出版本号,说明安装成功)。
2. 下载并启动 JMeter
- 前往 Apache JMeter 官网 下载最新版的
.zip压缩包(如apache-jmeter-5.6.3.zip)。 - 将压缩包解压到你的电脑里(建议放在没有中文路径的目录下,例如
D:\jmeter)。 - 启动软件:
- Windows 系统:进入解压后的
bin文件夹,双击运行 **jmeter.bat**。 - Mac/Linux 系统:在终端进入
bin目录,执行./jmeter.sh。
4. 稍等几秒,你就会看到一个全英文的图形化界面(GUI),这就是我们要配置脚本的地方。
阶段二:手把手配置压测脚本 (最容易踩坑!)
我们将以测试某个网址(例如 [https://s.nnu.cn/](https://s.nnu.cn/))为例,模拟 100 个人同时访问。
第一步:新建“线程组”(模拟用户)
线程组的作用是告诉 JMeter 我们要模拟多少个用户,以及怎么模拟。
在左侧树状图的 Test Plan (测试计划) 上点击右键。
依次选择 Add (添加) -> Threads (Users) -> Thread Group。
⚠️ 避坑警告: 一定要选最普通的
Thread Group,千万不要选带Open Model字样的,否则脚本会瞬间运行结束,没有任何反应!在右侧弹出的界面中,设置以下三个关键数字:
- Number of Threads (users): 填写
100(代表模拟 100 个人)。 - Ramp-up period (seconds): 填写
10(代表在这 10 秒内,把这 100 个人陆续放进去。千万别填 1,否则瞬间并发会被防火墙当成黑客攻击拦截)。 - Loop Count: 填写
10(代表每个人重复请求 10 次。这样总计会发送 1000 个请求)。
第二步:配置 HTTP 请求(告诉工具去访问谁)
- 在刚刚建好的 Thread Group 上点击右键。
- 依次选择 Add -> Sampler -> HTTP Request。
- 在右侧面板填写你要测试的网址,这是小白最容易填错的地方,必须拆开填:
- Protocol [http]: 填写
https(如果没有 s 就填 http)。 - Server Name or IP: 填写域名,例如
s.nnu.cn。(⚠️千万不要带前面的https://,也不要带后面的斜杠/,且末尾绝对不能有空格)。 - Path: 填写
/(如果是主页就填斜杠。如果是具体页面如/s/lTFRo4,必须以斜杠开头)。
- 重定向设置: 找到下方的复选框,取消勾选 “Redirect Automatically”,勾选 “Follow Redirects”(跟随重定向),防止请求在中途丢失。
第三步:伪装成浏览器(防止被拦截)
很多网站有防爬虫机制,看到是测试工具就会返回 404 错误。我们需要伪装成正常的浏览器。
- 在 Thread Group 上点击右键 -> Add -> Config Element -> HTTP Header Manager。
- 在右侧面板下方点击 Add (添加) 按钮,新增一行:
- Name 框输入:
User-Agent - Value 框输入:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
第四步:添加结果查看器(用于调试)
- 在 Thread Group 上点击右键 -> **Add -> Listener -> View Results Tree (察看结果树)**。
- 点击顶部工具栏绿色的 Play (启动) 按钮。
- 会弹出提示让你保存脚本。将它保存到桌面上,命名为
test.jmx。 - 点击左侧的“察看结果树”,如果看到列表里出现了绿色的盾牌,说明单次请求测试成功!
阶段三:正式发起高并发压测 (命令行模式)
🚨 官方严厉警告: 永远不要在图形化界面里直接进行高并发测试!图形界面极度消耗电脑内存,会导致你的电脑卡死,测出来的数据也会完全不准。图形界面仅仅是用来写脚本和调试单次请求的。
正确的做法是关闭 JMeter 图形界面,用黑框框(命令行)来跑。
1. 确保输出目录干净
JMeter 在生成测试报告时,如果发现指定的文件夹里已经有旧数据,就会直接报错罢工。
因此,在跑测试前,请确保你要保存报告的地方(比如桌面)没有 result.jtl 文件,也没有 report 文件夹。如果有,请手动删除它们。
2. 执行压测命令
打开终端(Windows 系统建议在桌面空白处右键,选择
Open Git Bash here,或者按Win+R输入cmd打开命令提示符)。通过
cd命令进入你刚刚解压的 JMeter 的bin目录。例如:1
2cd D:\jmeter\apache-jmeter-5.6.3\bin
复制并执行以下标准压测命令(请把路径换成你自己电脑里的实际路径):
1
2
3
4
5
6
7
8# Windows 使用 jmeter.bat,Mac/Linux 使用 ./jmeter.sh
# -n: 无界面模式
# -t: 你刚刚保存的脚本文件路径
# -l: 原始数据保存为 jtl 格式
# -e -o: 自动生成 HTML 网页版可视化报告文件夹
./jmeter.bat -n -t "C:\Users\你的电脑用户名\Desktop\test.jmx" -l "C:\Users\你的电脑用户名\Desktop\result.jtl" -e -o "C:\Users\你的电脑用户名\Desktop\report"回车运行后,你会看到屏幕上每隔几秒跳出一行带有
summary字样的数据。当看到... end of run时,恭喜你,压测圆满结束!
阶段四:看懂你的压测报告
压测结束后,不要去看那个密密麻麻的 .jtl 文件。
- 直接去你的桌面上,找到刚刚生成的
report文件夹。 - 双击打开里面的
index.html文件(会自动用你的浏览器打开)。 - 这是一个极具专业感的数据大屏,你需要重点关注两项核心指标:
- 仪表盘 (Dashboard) -> APDEX (Application Performance Index): 这个表格里的 **Error % (错误率)**。如果不是 0%,说明服务器在压力下出现了崩溃或拒绝服务。
- 吞吐量 (Throughput): 也就是常说的 QPS。代表在你的服务器在没有报错的前提下,每秒最多能处理多少次请求。数字越大,说明你的服务器性能越强悍!










