# 极简jmeter使用教程

# 起因

测试美眉对性能压测很感兴趣,说想试试jmeter,问有没有保姆级的jemter教程。我思考了一下决定亲手写一个。

# 什么是jmeter

jmeter是一款压力测试工具。

ok,那我们先搞清楚什么压力测试?

打个比方,有个网站:www.xiaoxiaoguo.cn,我想知道这个网站能不能同时承受10个人访问的话,要怎么做呢?最简单的办法就是找10个人,喊3,2,1,然后这个10个人同时操作电脑打开网站。找10个人应该不是很难,但假如要测试100个人,1万个人呢?这个方法就不行了。

在实际的测试工作中,我们也不会采用这种人工的方式来测试网站的承受能力,而是通过软件来完成,jmeter就是这样一款帮你模拟1万个人同时访问的软件。

# jmeter安装

jmeter是开源的,不收费。官网是https://jmeter.apache.org/,认准这个网址,不要跑错地方了。

# 确保安装了java

首先确定电脑上安装了java,打开终端,输入命令:

java -version

如果有类似如下的提示,就表示安装了:

java version "13.0.2" 2020-01-14
Java(TM) SE Runtime Environment (build 13.0.2+8)
Java HotSpot(TM) 64-Bit Server VM (build 13.0.2+8, mixed mode, sharing)

如果提示命令未找到command not found,或者版本低于8,则可以参考这个文章安装一下

https://blog.csdn.net/u012934325/article/details/73441617

# 安装jmeter

打开官网 https://jmeter.apache.org/ ,点击左侧的 Download Releases

选择下载Source,下载apache-jmeter-5.4_src.zip

下载完成后,解压,双击bin目录下的jmeter图标,就能打开使用了。

# jmeter界面介绍

打开jmeter,界面长这样:

看到这么多按钮,不要慌,我们慢慢来。

上面的按钮就是脚本保存,剪切复制等。用的多的是开始结束按钮(绿色箭头那个),清除测试结果按钮(齿轮扫把那个)。重新测试时,我们要清除之前的测试结果,确保新的测试结果是独立的。

左侧的“测试计划”这个名称可以随便修改,当有多个测试计划时,名称能区分出来即可。

这里我把它改为测试示例,点击保存按钮,如果是第一次保存,会弹一个窗口,让你选择一个目录用于存放这个测试脚本。

选择好对应的目录,点击保存即可。

# jmeter使用

接下来就进入正题,让我们开始使用jmeter吧。

右击左侧的测试示例,点击添加,选择 线程-线程组

这里就相当于就是添加了一个用户群。这个线程组的名称也可以随便改,这里我把它改为一百个人,把线程数改为100,相当于找到了100个人。

100个人找到了,接下来我们就要给这些人安排活了。

右击一百个人,点击添加 - 取样器 - HTTP请求

添加后,就能看到干活的界面了

给这100个人安排什么活呢?让他们同时访问这个地址吧: https://img-home.csdnimg.cn/data_json/toolbar/toolbar1217.json

名称改为访问网站,我们测试的是https接口,协议就填https,域名填img-home.csdnimg.cn,端口写443,方法写GET,路径写data_json/toolbar/toolbar1217.json,填好后点保存即可。

之后点击绿色箭头就开始压测了。

可以看到右上角有个100,这就是我们安排的100个人了,当左侧数字变为0时,就表示这100个人都干完了。

但我们不好检查这100次的访问结果,所以接下来我们要请一个监工,把结果记录来,方便我们分析查验。

右击访问网站,选择添加 - 监听器 - 察看结果树

此时在左侧会看到一个结果树。

再次点击运行,就可以在结果树中看到每次的请求结果

这个100个结果如果一个个去看,看的眼都花了。如果是1万个人的话,那不是要上天了。所以我们再请一个统计的人来,让他帮我们统计。

右击访问网站,选择监听器 - 汇总报告

再点击运行,执行完成后,点击汇总报告就能看到汇总的数据了:

通过这些值,我们就能对网站或接口的性能做出评估。

# 后续

通过前面的步骤,我们就会使用jemter来测试网站或接口了。

接下来如果有兴趣,可以进一步去试试这些:

接口自动传参
接口联动(将上一个接口的结果返回给下一个接口)
使用jmeter命令行测试,而不是jmeter界面
分布式测试(配置多台jemter,模拟几万人同时访问,爽歪歪)