开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第1天,点击查看活动详情
JMeter 接口压测流程
业务介绍
首先对于Java开发程序员来说,系统压测对于一下比较正规的公司来说是一个必不可少的流程,对于自己开发的程序需要了解自己的接口QPS量级的一个问题。
本文主要是介绍最基本的使用流程,单独接口的并发调用,实际上还有关于接口的混合调用等等 都是可以实现的,大家可以根据自己的实际情况进行处理。
环境以及工具
- Java开发环境 jdk
- windows
- jmeter 工具
JMeter
压测工具其实很多就比如最基本的postman| apipost 都是能够进行接口的压力测试的 ,但是对于jmeter来说 是一个很经典的测试压测工具 所以本篇就使用他来进行系统接口的压力测试
工具下载
官网地址
jmeter.apache.org/download_jm…
选择一个下载然后本地解压
解压运行
最好在解压之后的 /bin/jmeter.sh | jmeter.bat 就可以启动
接口测试流程
添加线程组
大致配置: 可以通过自己的需求进行多少个线程并发访问等规则
添加取样器
其实就是写相应调用的接口地址
添加查看结果树
便于查看具体接口返回状态等信息
添加聚合报告
便于看多并发调用时汇总信息
选择运行就行
运行测试
关于上面显示的列中在不同测试要求情况下关注点不一样:
| Term | Definition |
|---|---|
| Label | Jmeter中元件的Name属性值 |
| Samples | 本次测试一共发出的请求数 (如:模拟10个用户,每个用户循环6次,则总请求数=10×6=60) |
| Average | 平均响应时间(ms)。默认情况是每个Request的平均响应时间; 若使用Transaction Controller,则表示每个Transaction显示的平均响应时间 |
| Median | 响应时间的中位数。表示50%用户的响应时间 |
| 90%Line | 90%用户的响应时间 |
| Min | 最小响应时间 |
| Max | 最大响应时间 |
| Error% | 出现错误的请求数占比[(错误请求数/请求总数)×100%] |
| Throughput | 吞吐量。默认表示每秒完成的请求数(Request per second); 若使用Transaction Controller,则表示每秒处理的事务数(Transaction per second) |
| Received KB/sec | 每秒从服务端接收到的数据量 |
| Sent KB/sec | 每秒向服务端发送的数据量 |
安装插件便于更好的查看数据情况
搜先对于上面的测试情况时没有问题的但是呢查看起来没有更优雅的图片表现所以可以考虑安装插件。
以tps 和rt的图表监听器