jmeter元件分析
jmeter元件分析
一、脚本通用性
1、性能测试脚本改动一下,加入断言等元件,就可以作为接口测试脚本来使用
2、但是接口测试的脚本不可以作为性能测试脚本来使用
3、原因:因为性能测试考虑更多的性能,我们写的性能测试脚本要考虑自身脚本性能,所以一般不会添加过多会影响到脚本性能的jmeter元件,例如GUI图形,聚合报告,断言等,而接口测试脚本只需要考虑功能性,会过多依赖jmeter元件的使用,所以一般jmeter脚本可以用来测试接口,但是接口测试脚本不能用来测试性能。
二、jmeter中性能较差的元件
1、所有beanshell元件
1.1 这个元件是用来执行Java代码的,而Java请求会对于性能要求比较高。
1.1.1 怎么执行java代码:jsr223元件,groovy函数,jexl3函数
1.1.2 beanshell元件性能差的原因是因为它是基于java代码再进行封装的一种脚本语言,beanshell执行时需要转换成java语言,再转换成字节码,所以执行起来会比较慢
1.2 所以,在性能测试中,能不用beanshell的地方都不用
1.2.1 可以使用jmeter的元件或函数来替换beanshell实 现的功能。此方法不需要写代码
1.2.2 可以使用jsr223的元件来替换beanshell元件,通过写代码的方式
2、断言
2.1 断言是判断实际结果与预期结果是否相同,一般功能测试会进行断言
2.1 断言一般是由发起方来进行判断,判断需要一定的时间,而这个判断的时间会计算到服务器的响应时间中,从而我们发起下一个请求的频率就会降低。
2.3 所以,建议在性能测试中不做断言判断,没有断言,服务器返回的结果不准确,但脚本依然会继续运行,服务器依然会当做正常。不会计算到性能测试异常率中,也不会导致异常率偏高。
3、集合点\定时器
3.1 设定一个时间策略,然后来运行
3.1.1 时间策略,就是一个关键点
3.1.2 集合点,也有一个集合的策略,当这个策略不满 足的时候,是不会向服务器发起请求的。
3.1.2.1 在没有满足集合点策略时候,会导致请求量下降,对服务器造成的压力变小,而当满足集合点策略时的瞬间,又会有大量的请求向服务器发起,从而导致服务器可能瞬间处理不过来而报错。所以,性能测试中,jmeter 不要去用集合点。
4、监听器
4.1 监听器: 从不同的维度来展示响应数据
4.2 有请求发起方去做,通过监听器去做统计分析会导致我们jmeter用于发送请求的资源变少,请求量变少,请求频率也降低。所以也不可以使用
总结:jmeter做性能测试脚本,一定要考虑jmeter脚本本身的性能,尽可 能追求脚本性能的完美,能少用元件就少用,逻辑能简单,尽可能简单
jmeter元件分析的更多相关文章
- Jmeter元件——JSON Extractor后置处理器介绍2
在前段时间将JSON Extractor元件做了个简单的介绍:Jmeter元件——JSON Extractor后置处理器介绍1,今天以一个具体的json,以不同的方式提取数据做个详细的介绍. 一.模拟 ...
- 转 6 jmeter元件的作用域与执行顺序
6 jmeter元件的作用域与执行顺序 元件的作用域 配置元件(config elements)会影响其作用范围内的所有元件.前置处理程序(Per-processors)在其作用范围内的每一个sa ...
- JMeter元件作用域实践指南
从一个问题说起 对于以下测试脚本: 为了能调用进入房间接口,需要从考场接口获取考场token.为了调用考场接口,需要从登陆接口获取登陆token.元件说明如下: 学生登录,提取登录${token}传入 ...
- jmeter元件,作用域与优先级
jmeter元件,作用域与优先级 一.jmeter元件 1.配置元件:优先级最高 1.1 重点使用元件:csv数据文件设置.用户定义变量.计数器 2.取样器:根据不同协议来编写请求脚本的元件 2.1 ...
- jmeter结果分析(图形报表和聚合报告)
采用Jmeter测试工具对web系统作的负载测试,得出的响应报表,数据比较难懂,现作一具体说明.以下是在一次具体负载测试中得出的具体数值,测试线程设置情况为:线程数:200,等待时间(ramp-up) ...
- JMeter元件的作用域与执行顺序
元件的作用域 先来讨论一下元件有作用域.<JMeter基础元件介绍>一节中,我们介绍了8类可被执行的元件(测试计划与线程组不属于元件),这些元件中,取样器 是典型的不与其它元件发生交互作用 ...
- jmeter结果分析详解
Jmeter测试报表相关参数说明 采用Jmeter测试工具对web系统作的负载测试,得出的响应报表,数据比较难懂,现作一具体说明.以下是在一次具体负载测试中得出的具体数值,测试线程设置情况为:线程数: ...
- jmeter元件作用及执行顺序
jmeter是一个开源的性能测试工具,它可以通过鼠标拖拽来随意改变元件之间的顺序以及元件的父子关系,那么随着它们的顺序和所在的域不同,它们在执行的时候,也会有很多不同. jmeter的test pla ...
- Jmeter元件运行顺序
JMeter执行顺序逻辑如下: 1.配置元件(如果存在) 2.前置处理器(如果存在) 3.定时器(如果存在) 4.取样器(如果存在) 5.后置处理器(如果存在且取样器的结果不为空) 6.断言(如果存在 ...
随机推荐
- List 和 Map 区别?
表面来看,List是一个只是存放单个元素的集合,List集合所包含的元素可以重复,元素按放入的先后顺序来存放,程序可以通过元素的索引来读取元素,因此List相当于一个动态数组:Map则是一个存放key ...
- List和 Map区别?
一个是存储单列数据的集合,另一个是存储键和值这样的双列数据的集合,List中存储的数据是有顺序,并且允许重复:Map中存储的数据是没有顺序的,其键是不能重复的,它的值是可以有重复的.
- 学习ITIL
ITIL IT运维管理体系: IT管理中的PPT(people人:process流程:technology技术): 标准化(是否有紧急故障处理流程).工具化: 备份解决方案:灾备解决方案: 监控解决方 ...
- 解决IDEA包重叠在一起的问题
问题显现: 解决方法:
- 从零开始画自己的DAG作业依赖图(四)--节点连线优化版
概述 上个版本简单的连线在一些复杂场景,尤其层级比较多,连线跨层级比较多的情况下,会出现线条会穿过矩形的情况,这一讲就是在这个基础上,去优化这个连线. 场景分析 在下面几种情况下,简单版本的画法已经没 ...
- mpvue打包没有app.json等配置文件的解决方法
问题 一早上折腾了1个小时,小程序始终提示查找不到'app.json'文件.mpvue重新打包,光生成内容文件无配置文件. 解决办法 出错原因:版本问题 只需要把packpage.json里的mpvu ...
- Python窗口学习之搜索框美化
初学tkinter,感觉这个插件虽然是做界面的,但是没有html,也没有android那么人性化 既没有画圆角长方形的办法也没有添加透明按钮的办法(可能是我没找到) 所以自己用canvas画了两个扇形 ...
- java基础-多线程线程池
线程池 * 程序启动一个新线程成本是比较高的,因为它涉及到要与操作系统进行交互.而使用线程池可以很好的提高性能,尤其是当程序中要创建大量生存期很短的线程时,更应该考虑使用线程池.线程池里的每一个线程代 ...
- DOS控制台
:win+r--cmd--回车* A:d: 回车 盘符切换* B:dir(directory):列出当前目录下的文件以及文件夹* C:cd (change directory)改变指定目录(进入指定目 ...
- Python计算身体质量指数BMI
使用Python计算身体质量指数BMI 运行结果如下: 源代码: 1 ''' 2 3. 利用函数思想,将"身体质量指数BMI"源程序封装成为一个函数并调用. 3 :param he ...