一、先搞懂:JMeter是干啥的?
简单说就是模拟很多人同时访问你的网站/接口,看服务器扛不扛得住。比如你做了个登录接口,想测1000个人同时点登录会不会崩,用它就对了。
二、准备工作:下载+解压
- 下载:安装包下载:https://pan.quark.cn/s/109cb57b39e1,下
apache-jmeter-2.9.zip(注意别下错版本,2.9是2013年的老版本,但胜在兼容性好)。 - 解压:随便找个盘(比如D盘),解压后得到
apache-jmeter-2.9文件夹,里面就是所有文件了。
三、启动JMeter:重点!别踩权限坑
JMeter是Java写的,必须先装JDK(推荐JDK 6/7,2.9对高版本JDK可能不兼容)。
步骤:
确认JDK安装:打开命令行输入
java -version,能显示版本号就行(比如java version "1.7.0_80")。启动JMeter:
- 进入解压后的
bin目录(比如D:\apache-jmeter-2.9\bin); - 双击
jmeter.bat(Windows)或jmeter.sh(Mac/Linux); - 等几秒,会弹出两个窗口:黑色命令行窗口(别关!) 和灰色主界面(JMeter操作面板)。
- 进入解压后的
四、跑第一个测试:HTTP请求测试(以百度为例)
目标:模拟10个人同时访问百度首页,看响应时间。
步骤1:新建测试计划
主界面默认已经有一个“测试计划”,右键它→添加→Threads(Users)→线程组。
- 线程数:填10(模拟10个用户);
- Ramp-Up Period:填10(10秒内启动完10个用户,避免瞬间压垮服务器);
- 循环次数:填1(每个用户只访问1次)。
步骤2:添加HTTP请求
右键刚建的“线程组”→添加→Sampler→HTTP请求。
- 协议:填
http; - 服务器名称/IP:填
www.baidu.com; - 端口号:默认80(不用改);
- 方法:选
GET; - 路径:填
/(访问首页)。
步骤3:加结果查看器(不然看不到数据)
右键“线程组”→添加→监听器→查看结果树(看每个请求的详细响应);
再右键“线程组”→添加→监听器→聚合报告(看整体统计,比如平均响应时间、错误率)。
步骤4:运行测试!
点击工具栏绿色三角形按钮(▶️),开始跑测试。
- 等进度条走完(命令行窗口会显示“测试完成”);
- 去“查看结果树”里看:选一个请求,能看到请求头、响应数据(百度返回的HTML);
- 去“聚合报告”里看:重点关注Average(平均响应时间) 、Error%(错误率) ,如果Error%是0,说明测试成功~
五、常见问题(血泪教训)
- 启动报错“Java not found” :没装JDK或环境变量没配好,重新检查JDK安装,确保
java命令能在命令行运行。 - 中文乱码:JMeter 2.9默认编码可能有问题,解决方法:打开
bin/jmeter.properties,找到sampleresult.default.encoding=ISO-8859-1,改成sampleresult.default.encoding=utf-8,保存后重启JMeter。 - 结果树没数据:检查HTTP请求的IP/路径是否正确(比如百度要写
www.baidu.com而不是baidu.com),或者线程组的线程数填了0。