- 介绍 -
JMeter是Apache组织的开放源代码项目,能做功能测试和性能测试。它能够对HTTP和FTP服务器进行压力和性能测试,也可以对任何数据库进行同样的测试(通过JDBC),还能以多种形式展现测试结果。
跟LoadRunner的区别,JMeter是开源的,LR是商业软件,JMeter更灵活,LR更好用可以录制脚本。
- 应用场景 -
开发环境UI响应比较慢,解决思路:
1. 先用browser debug工具分析发现是接口响应慢,导致UI一直处于等待状态
2. 然后使用工具做接口性能分析
3. 最后对分析出来的接口做性能优化
以上,实际上就是一个压力测试的过程,这里使用开源工具Apache JMeter做压力测试,步骤记录如下:
一. 下载和安装
Apache JMeter官网选择二进制文件下载,完成后直接解压使用(windows点击C:\Program Files (x86)\apache-jmeter-4.0\bin\jmeter.bat启动主程序)。
二. 创建线程组
新建线程组,右键点击测试计划,添加>Threads(Users)>线程组
设置线程数10,Ramp-Up period(in seconds):0,循环次数:1
Ramp-Up period指的是所有线程运行完限定的时间(如果设置为0,就是并发);
如图模拟的是10个线程并发访问接口的场景。
三. 新建HTTP请求,右键点击线程组>添加>Sampler>HTTP请求
如图是模拟http post请求,分别添加了request body 和 header。
四. 创建结果报告
如图分别模拟了10个和100个线程并发访问接口时的接口性能:
10个线程并发 10秒
100个线程 25秒
可见接口性能不好,并且出现了比较严重的性能退化。