压测利器----Jmeter的使用,快速入门了解一下
Posted 码农飞哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了压测利器----Jmeter的使用,快速入门了解一下相关的知识,希望对你有一定的参考价值。
您好,我是码农飞哥,一直想飞暂时在跑个那个老哥。
擅长领域:Java高并发编程,mysql数据库
本文重点:记录日常工作中查看日志的各种命令。
干货满满,建议收藏,需要用到时常看看。小伙伴们有问题及需要,欢迎踊跃留言哦~ ~ ~。
前言
我是码农飞哥,感谢您的阅读。众所周知,Jmeter是一款用来压测接口的利器。其组件比较多,可以应对各种场景下的压测需求。下面就让我们来认识一下这款利器。
核心组件介绍
组件名称 | 组件作用 | 组件添加方式 |
---|---|---|
线程组 | 所有的测试计划都是以线程组为单位 | |
HTTP请求 | 用于设置请求的接口地址和入参 | |
HTTP信息头管理器 | 用于HTTP请求接口设置请求头 | |
察看结果树 | 察看结果树会打印每一个请求的情况 | |
聚合报告 | 聚合报告展示了所有的请求数,以及所有请求平均响应时间,以及90%的请求的响应时间 | |
固定定时器 | 用于设置每个线程请求的时间间隔 |
线程组
所有的线程设置都是在线程组,可以把线程组想象成线程池。
名称:就是线程组的个性化名字
线程组里几个比较重要的属性:
- 线程数:就是设置多少个线程执行测试,这里的线程可以想象成虚拟用户
- Ramp-up Period (in Seconds):准备时长,就是说多久内启动完所有线程,默认是0,在上图中的意思是,同一时刻启动5个线程。如果设置为5的话,就是说要在5秒内启动5个线程,每秒启动一个。
- 循环次数: 永远的话,就是在调度器持续时间内不断的循环调用接口,此处设置的是3次,表示每个线程循环执行3次。
调度器配置: - 持续时间(秒):表示压测持续的时间
- 启动延迟(秒):表示延迟多久启动测试
Http请求
Http请求的基础设置如上图所示:
- 协议:可以设置为http或者https
- 服务器名称或IP: 如果是域名的话直接设置域名,否则设置ip地址。
- 端口号:IP访问的才需要。
HTTP请求: - 方法:这里主要是GET和POST两种请求方法
- 路径:就是接口的地址
下面的框中就是设置请求参数 - 如果是表单提交的话,则在Parameters中设置参数
- 如果content-type是application/json类型的话,则在Body Data中设置请求参数
- 如果是multipart/form-data类型的话,则需要在Files upload中设置参数。
HTTP信息头管理器
这里顾名思义就是设置HTTP请求头信息。可以设置 content-type等信息。
察看结果树
察看结果树也是一个很重要的组件,这个组件主要展示了所有的HTTP请求,当然我们可以勾选仅日志错误则只会展示所有错误的HTTP请求。勾选Successes则只会展示所有成功的请求。也可以把请求的结果持久化到一个文件中。
聚合报告
聚合报告是非常非常重要的一个组件,通过这个组件我们可以整体的知道压测的结果,那个列表中有哼多行,每一行的属性我都会逐一做一个说明:
- Samples: 总的请求数,这里一共有15个请求,5个线程循环3次。
- Average: 平均响应时间,这个指标统计了都有请求的平均响应时间。
- Median: 中位数的响应时间,这个指标统计了中位数的响应时间。
4. 90% Line: 90%的请求的平均响应时间,这是一个很重要的衡量接口性能的指标 - 99% Line: 99%的请求的平均响应时间,这个指标跟Average指标相近
- Min: 最快的响应时间,就是响应最快的请求所用时。
- Max: 最慢的响应时间,就是响应最慢的请求所用时。
7. Error %:错误请求的占比 - Throughput: 接口的吞吐量
- Recevied KB/sec: 每秒钟的接受数据量
- Sent KB/sec: 每秒钟的发送数据量
固定定时器
这个定时器主要是用于设置,每个线程每次循环的时间间隔,这里的5000毫秒表示每个线程请求完之后要等5秒才会再次请求接口。
总结
本文对Jmeter的使用做了一个简单的总结,中间介绍了一下压测一个HTTP接口所需要用到的常用组件。熟练运用这几个组件就可以比较轻松的应对压测需求。压测设置的顺序 设置线程组—>设置HTTP请求—>设置HTTP请求头---->设置聚合报告—>设置察看结果树。
以上是关于压测利器----Jmeter的使用,快速入门了解一下的主要内容,如果未能解决你的问题,请参考以下文章