场景运行
上节已经设置好运行场景了,下面我们开始学习运行场景的方法。
GUI 可视化运行
GUI 运行分为单机运行(即本地运行)和远程运行。
GUI 单机运行
非常简单啦,前面的讲解一直都是用的单机运行这种方式哦,主要按钮包含以下几个。
(1)启动按钮,如下图所示:

(2)无停顿启动(Start no pauses)按钮,如下图所示:

无停顿启动按钮与启动按钮的区别在于:
- 可以忽略定时器的影响;
- 再次启动时运行更快。
(3)停止(Stop)按钮,停止的是正在执行的测试计划,如下图所示:

(4)关闭按钮,关闭测试计划,如下图所示:

当然我们还可以在【运行】菜单下找到与上述四个按钮完全等价的功能菜单:

GUI 远程启动
不多说啦,直接上按钮所在的位置:

三个按钮(按照由左到右的顺序)依次为:
- 远程全部启动,让所有远程 agent(负载机)运行测试;
- 远程全部停止,停止全部远程的 agent(负载机)的运行;
- Remote Shutdown All,关闭所有远程 agent(负载机)。
也可以在【运行菜单】下执行:

可以看到还有三个针对远程的功能,远程启动、远程停止、Remote Shutdown 这三个功能都是针对指定的 Agent(负载机)进行操作。(单机为什么没有?很明显哦,单机都是针对本地,只有一台机器,所以肯定不用特殊指定)。
Agent(负载机)
这里补充一个知识点,即负载机。
定义
通常在需要大压力的场景下,一台机器产生的压力不能满足测试需求,就需要多台压力机,也就是我们说的 Agent(负载机)。
配置负载机
在 JMeter 中配置负载机的方法:打开 JMeter 的 bin 目录下的 jmeter.properties 文件,找到remote_hosts=127.0.0.1这行配置,将负载机的 IP 配置在后面即可,一般情况下无需配置端口信息,多个负载机间使用逗号隔开。比如现在我们增加了两个负载机,一个为 127.0.0.2,另一个为 127.0.0.3,此时配置成下面的格式即可:
remote_hosts=127.0.0.1,127.0.0.2,127.0.0.3

注意:远程运行方式如果脚本有依赖的参数文件或 Jar 包等文件,需要先把这些文件复制到远程机负载机上。
shell 命令行运行(非GUI模式)
拿本地机器为例
步骤如下:
(1)在 JMeter 根目录下创建文件夹 jmx 和 resultLog:

(2)cd 到 JMeter 的 bin 目录下:

(3)执行 jmeter -n -t E:\jmeter\apache-jmeter-3.3\jmx/RequestDemo.jmx -l E:\Jmeter\apache-jmeter-3.3\resultLog\log.jtl 命令。注意我这是在 Windows 模拟,在 Linux 系统下,文件夹的符号是 / 而不是 \:

当显示如下信息时,证明以及运行成功:

(4)此时查看下我们建立的 resultLog 文件夹:

打开这个 log.jtl 文件:

常用到的命令行参数
下面是 shell 脚本运行时的常用参数。
- -h 帮助:打印出有用的信息并退出。
- -n 非 GUI 模式:在非 GUI 模式下运行 JMeter。
- -t 测试文件:要运行的 JMeter 测试脚本文件。
- -l 日志文件:记录结果的文件。
- -r 远程执行:启动远程服务。
- -H 代理主机:设置 JMeter 使用的代理主机。
- -P 代理端口:设置 JMeter 使用的代理主机的端口号。
总结
- 需要明确各个命令的含义;
- 需要区分在什么情况下使用 GUI 运行方式,什么情况下使用非 GUI 方式;
- 掌握压测机(也叫 Agent、负载机)的添加方式;
- 请注意本例演示的远程非 GUI 执行方式是在本地 Windows 环境下,在 Linux 环境下注意文件夹之间的 /。

浙公网安备 33010602011771号