Apache JMeter
The Apache JMeter™ application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions.
关于JMeter,这里不做过多说明,更多介绍可以查看官网。我们只需要知道这是一款用Java开发的压力测试工具,可以模拟对服务器的请求来测试它们的负载强度,分析不同压力类型下的整体性能。
1. 下载安装
注意: JMeter运行依赖于Java环境,所以请提前装好这些环境,并配置全局的环境变量。从上图我们可以得知,JMeter4.0+更是需要Java8或者Java9环境。如果不需要了解源码,这里我们只需要选择下载“Binaries”一栏中的.tgz或.zip包即可,然后解压即可。
2. 运行JMeter4.0
进入bin目录下,Windows平台双击 "ApacheJMeter.jar" 或 “jmeter.bat” 即可,Linux下请启动 “jmeter.sh” 脚本。
这是JMeter4.0的主界面,可以看到这是用Java Swing写的GUI。
3. JMeter4.0简单介绍
顶部导航栏中。最左边的 File
选项,可用于新建、打开(最近)和保存测试计划。重点关注第四个选项 Run
,一般编写完测试计划后,我们可以在此下拉选择启动(或中断),或者可以点击第二栏中间部位的“绿色右三角标”进行启动。再往右边一点,可以看到有两个带有“扫帚”的图案,这两个是用来清除测试结果的。
- 在
Test plan
(测试计划)处,右键选择Add
,然后在Threads(Users)
中选择Thread Group
(添加线程组),接下来简单介绍一下线程组中的部分核心功能。
-
线程属性
- 线程数:模拟多少并发用户,就设置多大的数值
- Ramp-Up Period (in seconds):并发访问的时间范围大小
- 循环次数:执行多少次循环(勾选“永远”后线程组将一直执行)
- 示例:线程数(1000),Ramp-Up Period(3),循环次数(2)
解释:在3秒内模拟共1000次的用户并发请求,并循环执行2次
-
调度器配置(勾选“调度器”选项开启)
- 持续时间(秒):线程组执行的总时长
- 启动延迟(秒):执行线程组后,延迟真正开始请求的时间,默认启动后立刻执行
Http请求:用于配置Http请求的信息
-
配置元件
- CVS数据文件设置:通过导入CVS文件,模拟不同的请求参数进行接口压测(PS:顶部导航栏 “选项” -> "函数助手" 也可以实现类似的功能,后续实战将进行一一介绍)
- Http信息头管理:设置Http请求头参数等
- Http Cookie 管理器:设置Cookie信息
察看结果树:用于查看Http请求响应结果信息
- 聚合报告:用于查看报告分析等信息
写在最后
注意,线程组的配置似乎是需要按顺序进行的,否则可能会出现某些配置不生效的情况。下来我会进行实战压测演示,模拟对Http(s)和ws(s)接口的请求,欢迎关注。最后,附上示例的JMeter配置,下载后(无法自动下载,请点击右键,选择另存为即可),在JMeter中选择导入即可。 demo.jmx