测试能力提升 性能测试之 Jmeter 使用说明

大道 · 2020年07月24日 · 最后由 大道 回复于 2020年11月09日 · 3057 次阅读

图床如果失效,可以关注二维码,公众号查阅。

JMeter 安装

1、下载地址:

https://downloads.apache.org//jmeter/binaries/apache-jmeter-5.2.1.zip

2、解压 apache-jmeter-5.2.1

3、启动

linux/mac启动:
[1] cd  apache-jmeter-5.2.1/bin  
[2] ./jmeter.sh
window启动:
双击jmeter.bat

目录介绍

├── LICENSE License说明文件
├── NOTICE  版权声明
├── README.md  简单介绍
├── backups  
├── bin    配置文件、启动文件
├── docs   帮助文档
├── extras 辅助功能
├── lib    依赖组件的jar包
├── licenses 声明信息
└── printable_docs 离线帮助文件,可用来学习JMeter

测试计划要素

JMeter 中一个脚本就是一个测试计划,测试计划中有这么四个关键点。

1、脚本中测试计划只能有一个
2、测试计划中至少要有一个线程组:进行并发量线程模拟
3、需要包含取样器:发送测试请求
4、需要包含监听器:判断系统瓶颈


当然 JMeter 包括丰富的元件,可以在 JMeter 脚本设计的时候按需选择就可以。

逻辑控制器

定时器

前置处理器

后置处理器

断言

函数助手

各类插件
.....

测试计划编写

JMeter 编写性能测试脚本的类型好几类:HTTP 协议的脚本、FTP 脚本、Java 脚本等。
最常用就是 HTTP 协议的脚本,可以分为 HTTP 协议录制脚本和 HTTP 协议接口手动编写脚本。

  1. HTTP 协议录制脚本
HTTP协议录制脚本网上百度内容特别多,也比较简单
推荐两种方式:Badboy工具录制、JMeter配置代理录制
  1. HTTP 协议接口手动编写脚本
    参阅:https://testerhome.com/topics/22965

场景设计

重点要设置线程组的线程配置

重点要设置线程组的线程配置

重点要设置线程组的线程配置

"重要的事情说三遍"
完成脚本编写后,通过线程组的线程配置,或者 JMeter 的一些线程插件。完成线程配置,以此来做好性能测试的场景设计。

那这个线程设计需要做好充分的数据调研,比如:业务功能分布、业务量、用户量、业务时段、业务执行的比例等,一系列实际的数据来制定性能测试场景才最合理,性能测试才最有效。
非常不建议大家上来就几百个线程几秒内启动起来就开始性能测试,没有实际业务数据预估和参照,结果会不太可靠。就算没有实际业务或者业务特别小量,那在做性能测试场景设计的时候,如何增加线程数。

线程递增的策略

  1. 场景中的线程递增一定是连续的,并且在递增的过程中也是有梯度的。
  2. 场景中的线程递增一定要和 TPS 的递增有比例关系,而不是突然达到最上限。
  3. 上面两点针对的是常规的性能场景。对于秒杀类的场景,我们前期一定是做好了系统预热的工作的,在预热之后,线程突增产生的压力,也是在可处理范围的。这时,我们可以设计线程突增的场景来看系统瞬间的处理能力。如果不能模拟出秒杀的陡增,就是不合理的场景。

参考《极客时间》这里给出性能场景递增的经验值:

扫一扫,关注我

共收到 3 条回复 时间 点赞

学到了 大佬

您好,图挂了

爱吃米饭 回复

图床不稳定,可以关注公众号【大道测试】

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册