Apache JMeter是Apache组织开发的基于Java的压力测试工具。
因为JMeter是使用JAVA写的,所以使用JMeter之前,先安装JAVA环境。
一、下载
下载地址:Apache JMeter - Download Apache JMeter
二 解压并运行工程
下载完成后解压文件,然后进入apache-jmeter-5.6.3文件夹目录中,再进入bin目录,window系统的话找到jmeter.bat,双击打开,将会看到jmeter的主界面
三、创建首个测试用例
1.创建线程组
2.设置线程组
我这里设置线程数为10,循环20次。
3.创建Http请求
在Thread Group上右键 --> Add --> Sampler --> Http Request
4. 添加察看结果树
在Thread Group上右键 --> Add --> Listener--> View Results Tree
5. 添加聚合报告
在Thread Group上右键 --> Add --> Listener--> Aggregate Report
6. 执行
7. 查看结果
这里我们总共向后端服务器发送了200个请求
四、参数解析
1. 线程组参数详解
1. Number of Threads 线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。
2. Ramp-Up Period(in seconds)准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为10,准备时长为2,那么需要2秒钟启动10个线程,也就是每秒钟启动5个线程。
3. Loop Count 循环次数:,每个线程发送请求的次数。如果线程数为10,循环次数为20,那么每个线程发送20次请求。总请求数为10*20=200。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。
2. 聚合报告参数详解
1. Label: HTTP Request 的 一个 Name 属性
2. #Samples:请求数——表示这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代20次,那么这里显示200
3. Average:平均响应时间(单位为毫秒)
4. Median:中位数(单位为毫秒),按时间升序第50%用户的耗时
5. 90% Line:按时间升序第90%用户的耗时
6. Min:最小响应时间
7. Max:最大响应时间
8. Error%:错误率——错误请求数/请求总数
9. Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
10. KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec
一般而言,性能测试中我们需要重点关注的数据有: #Samples 请求数,Average 平均响应时间,Min 最小响应时间,Max 最大响应时间,Error% 错误率及Throughput 吞吐量。