JMeter 是 Apache 基金会下的一个开源软件,他是一个 100% 纯 Java 应用,用来测试应用功能行为及性能。 它最初设计用于 Web 应用程序, 但是后来也扩展到其他测试领域。
安装
安装 JMeter 前需要先安装 Java 环境, JMeter 4.0 依赖 Java 8 或 9 。
JMeter 安装很简单,执行以下命令:
wget -c http://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-4.0.zip
unzip apache-jmeter-4.0.zip
chmod +x apache-jmeter-4.0/bin/jmeter.sh
启动 JMeter
cd apache-jmeter-4.0/bin
./jmeter.sh
此时可以看到 JMeter 的图形界面:
一个简单的测试实例
1. 启动测试用接口
首先我们写一段 php 代码,通过 PHP 内置的 Server 启动它。
$user_id = $_GET['user_id'];
file_put_contents('/tmp/1.log', $user_id.PHP_EOL, FILE_APPEND);
echo $user_id;
以上代码保存为 index.php
命令中执行 php -S 127.0.0.1:8080
在浏览器访问 http://127.0.0.1:8080/index.php?user_id=1
, 输出 1
说明服务接口正常
2. 创建线程组
使用 JMeter 测试应用性能首先要创建一个线程组
右键 “Text Plan”, 在弹出的菜单栏选择 “Add->Threads(Users)->Thread Group”
就创建了一个线程组:
“Number of Threads (users): ” 即并发用户数,相当于 ab 命令的 -c 参数
“Loop Count:” 循环请求次数, 即每个线程请求多少次, 这个数据乘以线程数相当于 ab 命令的 -n 参数
我们设置了 “Number of Threads (users)” 为 5 , “Loop Count” 为 60 , 相当于ab 命令
ab -c 5 -n 300 http://xxx.com
2. 创建测试请求
右键我们刚刚创建的线程组“Thread Group”, 选择 “Add-> Sampler-> HTTP Request”
这一步相当于通过多个参数拼出要测试的接口地址。
注意Path
中, ${__counter(false)}
为 JMeter 内置的函数, 它的返回值为当前请求次数
**这样保证了我们每次向服务器请求的 user_id
的值都不一样 **
此时我们将要进行的测试等同于 ab 测试命令:
ab -c 5 -n 300 http://127.0.0.1/index.php?user_id=1
3.开始测试
右键线程组 “Thread Group”, 选择 “Add-> Listener->Summary Report “, 创建一个结果报表
然后点击, 菜单栏中的绿色按钮, 开始测试:
结果如图:
打开 ‘/tmp/1.log’ 可以看到,每次请求的 user_id的值都是不同的。
其他
JMeter 的功能非常丰富,请自行研究。
参考:
- http://www.cnblogs.com/TankXiao/p/4059378.html
- https://www.cnblogs.com/MasterMonkInTemple/p/3442770.html
转载请注明:大后端 » JMeter4.0 安装及简单使用