随笔分类 - 测试高级进阶 - Jmeter
摘要:前言 可以搭配上一篇博客来看,是一个整体内容:https://www.cnblogs.com/gltou/p/16018087.html HTML 报告预览 Dashboard 板块 Test and Report informations 测试和报告信息 Source file:jtl 文件名 S
阅读全文
摘要:什么是 CLI 模式 CLI = Command Line,命令行模式,我们常说的 NON GUI 模式,无界面模式 真正做负载测试时,应该使用 CLI 模式运行,而不是 GUI 启动 Jmeter GUI 时的提示 使用 jmeter.bat 运行时会有一个 cmd 窗口 官方也说了 负载测试不要
阅读全文
摘要:为什么要做分布式 Jmeter 本身的局限性 一台压力机的 Jmeter 默认最大支持 1000 左右的并发用户数(线程数),再大的话,容易造成卡顿、无响应等情况,这是受限于 Jmeter 其本身的机制和硬件配置(内存、CPU等) 由于 Jmeter 是 Java 应用,对 CPU 和内存的消耗较大
阅读全文
摘要:抛出问题 通常,我们编写、调试脚本都是在 Window 机器上,而真正性能测试时,脚本几乎都在 Linux 下运行 使用 CSV 数据文件做参数化时,是需要指定文件路径的 这里就有个问题:Window 下写的文件路径到了 Linux 下是不正确的,导致无法正常读取 CSV 文件 为了解决这个问题,下
阅读全文
摘要:简介 Access Log Sampler 是个非常有用的工具,可以收集和分析真实用户操作的数据,并可用于流量分析。常见的就是我们的nginx的access.log 日志 使用 access.log 192.168.242.13 - - [10/Jun/2021:16:21:15 +0800] "G
阅读全文
摘要:场景 单台机器的下JMeter启动较大线程数时可能会出现运行报错的情况,或者在运行一段时间后,JMeter每秒生成的请求数会逐步下降,直到为0,即JMeter运行变得很“卡”,这时候我们可以调整JVM内存,来对Jmeter进行优化 设置JVM内存 ①找到JMeter bin目录下的jmeter.ba
阅读全文
摘要:Jmeter UI页面是调试脚本的,运行脚本使用命令行运行;Windows使用batch,Linux使用shell Jmeter减少使用各类监听控件,吃内存、CPU;用后置处理去拿log文件,生成图表 加大jvm的空间,默认是256M 使用最新版的Jmeter 提取响应结果时,数据量较少使用正则;数
阅读全文
摘要:Json 相关 解析 Response import groovy.json.JsonSlurper def responseStr = prev.getResponseDataAsString() def jsonSlurper = new JsonSlurper() // String 转 Ob
阅读全文
摘要:常见内置函数及调用 获取相关函数 获取返回数据并转换为String字符串 prev.getResponseDataAsString() 例子 String Responsedata = prev.getResponseDataAsString(); //如果参数为true,则样本执行判断为成功,为f
阅读全文
摘要:JSR233 介绍 JSR223控件执行JSR223脚本代码用于创建/更新所需的某些变量 JSR223可以使用其内置的变量,有助于精简脚本,提高开发测试的效率 由于JSR223脚本编译方式基本相同,JSR223取样器、JSR223前置处理器、JSR223后置处理器、JSR223断言、JSR223定时
阅读全文
摘要:性能指标峰值 简述 彻底理解了性能指标(1)(2)的内容,这一篇随笔其实就不用看了,而且大家也能猜到这一篇内容是啥:二八原则 性能指标不要硬性的往那些性能指标上去靠,要根据业务来,熟悉业务,明白了解你们的项目性能的点在哪,是用户量,QPS,TPS,PV等,哪个是重点,哪个会给用户带来性能瓶颈。 根据
阅读全文
摘要:并发数 概念 同时承载正常使用系统功能的用户数量;系统能够同时处理请求的数目。 通过问题详解 问题:网站的并发数,究竟指的同时提交请求的用户数目,还是用户同时提交的请求的数目? 答案:根据这句描述“对网站而言,并发数即网站并发用户数,指同时提交请求的用户数目。”,并发数指同时提交请求的用户数据,可以
阅读全文
摘要:TPS 概念 TPS (transaction per second):意思是每秒事务数,具体事务的定义,都是人为的,可以一个接口、多个接口、一个业务流程等等。一个事务是指事务内第一个请求发送到接收到最后一个请求的响应的过程,以此来计算使用的时间和完成的事务个数。 公式 TPS=事务数/时间(秒)
阅读全文
摘要:如果(if)控制器(If Controller) 在实际工作中,当使用JMeter做性能脚本或者接口脚本时,当遇到需要对不同的条件做不同的操作时,我们可以使用JMeter中if控制器来实现 if控制器含义:根据判断条件决定是否执行该控制器内的请求,如果是字符串比较条件,参数和字符串 都需要加引号 I
阅读全文
摘要:循环控制器(Loop Controller) 字面意思,循环该控制器下的请求 设定固定循环次数,或者一直循环 同线程组的循环是父子关系,大家可以试下,如果线程组设置了一直循环,而循环控制器设置了2次,实际效果是什么样子的? 一般同计数器配合使用,具体根据实际场景来
阅读全文
摘要:认识 Include Controller Include Controller :译为包含控制器,用来添加 Test Fragment(测试片段)。具体是什么意思呢,我们先来了解下 Test Fragment(测试片段)。 理解 Test Fragment(测试片段) 如下是创建一个 Test F
阅读全文
摘要:模块控制器(Module Controller) 作用 可以理解为引用、调用执行的意思,调用范围为testplan树下任意的逻辑控制器,模块控制器除外 点开testplan树,需要引用哪个逻辑控制器选中即可,只能调用逻辑控制器 所有执行内容为模块控制器Module To Run中刚刚所选的逻辑控制器
阅读全文
摘要:事务控制器(Transaction Controller) 作用 选择一些请求,作为事务,放在该控制器下 比如:我有三个请求,注册、登录、下单。这三个请求其实就是一个下单完成过程,可以作为一个下单事务。将三个请求放在事务控制器下面 可选项 Generate Parent SampleInclude:
阅读全文
摘要:随机控制器(Random Controller) 该控制器下的请求,请求顺序随机,适用场景一般为顺序性依赖不强的请求,比如:下载文件;浏览商品;访问查询接口 随机控制器下的请求随机,如果勾选了【忽略控制器模块(Ignore sub-controller blocks)】,随机控制器下面即使有其他控制
阅读全文
摘要:前置知识点 Jmeter HTTP代理服务器每次点击启动录制,会往Jmeter的bin目录下生成相关证书,证书有效期是7天 录制前需要先看下证书过期没有,过期了,删除bin目录下的证书,即ApacheJMeterTemporaryRootCA.crt、ApacheJMeterTemporaryRoo
阅读全文