当前位置: 首页 > news >正文

全网最详细,Jmeter性能测试-性能基础详解,终成测试卷王(一)

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

发起请求

发起HTTP、HTTPS协议请求就不多说了。比较基础的了

写脚本的注意事项:
1、用Jmeter发起请求,必须写上协议,不然会向http和https各发起一次请求
2、填域名或者IP时,不能有“/”
3、填路径时,不要把IP或者域名填进来
4、注意路径前后是否有空格,有的话要删掉,不然会把空格转换为%20(urlencode编码)一起发起请求
5、内容编码一般默认是utf8,如果出现乱码可以查看本页最底下的场景异常。
6、注意请求体的选择

参数与消息体的选择

在编写HTTP请求时,请求体的内容可以在参数和消息体数据中二选一。
但这两者并不是随便选的,参数里面的值是会跟在Url后面的,而消息体数据的值则是放在请求体内的。

参数
1、GET请求只能使用参数的方式;
2、Post请求要看Content-Type是什么值,如果是x-www-from-urlencoded则是使用参数;
3、如果Post请求不指名请求体类型,也是使用参数传值

消息体数据

1、Post请求的Content-Type的值是application/json就是用的消息体数据;
2、xml格式的请求体是在消息体数据里面写;

重定向

HTT取样器这里有几个很容易忽略的地方

请添加图片描述

自动重定向
不会显示中间重定向过程,无法从过程中提取信息。

跟随重定向
会自动显示重定向过程,能从过程中提取想要的信息,可用于后面接口请求。

KeepAlive
保持连接、长连接。由于现在使用的HTTP版本是1.1就是长连接,所以默认是勾选KeepAlive。
但是在性能测试中,我们会根据需要去掉这个勾。因为在性能测试会产生大量的请求,每个请求会使用一个本机的端口,如果这些请求一直保持着连接,也会影响到本机的资源,所以在部分场景下会需要缩短连接的时间,不勾选KeepAlive。
大部分场景下上面所说的不需要改动,保持默认即可。

查看结果树

查看结果数中,绿色只是代表网络成功,不代表结果是否准确;
红色代表失败,但失败的原因也有很多种,具体情况具体分析。

结果树中的显示顺序是根据收到响应的先后顺序显示,所以在多用户的场景下,查看结果树的结果顺序未必是相同的。

配置原件执行顺序

配置原件的执行顺序很重要,请牢记!
1、测试计划是根目录,肯定是最先执行的,这里不解释了。
2、线程组中有setup和teardown线程组,setup线程组是所有线程组之中最先执行的;teardown则是所有线程组执行完成后才执行的。
3、其余线程组之间是并行的。

断言

在接口测试、自动化测试脚本中一定会添加断言,断言的目的是判断是否有bug。但是断言这个元件在执行时会消耗资源,虽然消耗的资源都是来自于本机的,但在性能测试中还是不推荐加断言。

在性能测试时,本机的资源也会影响性能测试的结果。
例如原本机器能发起1000个并发,但由于加了断言,实际可能只达到了900个并发,但你设置的并发却是1000个,这样你得到的性能结果就并不准确了。

聚合报告

请添加图片描述

要看聚合报告有个提前条件:

1、没有网络瓶颈

因为在很多时候,在看聚合报告时会把吞吐量的值等价为TPS的值,但实际上吞吐量是衡量网络的指标值,在网络中传递事务的数量有多少个;
而Tps是服务器每秒处理的事务数。

举个例子:一个药厂每天可以生成10000支疫苗,但因为运输的问题,每天只有8000支疫苗运出,那这难道就能说这个药厂的Tps是8000吗?

如果要判断性能瓶颈,可以看聚合报告最后两列,它们是吞吐率。通过这个可以看出是否存在网络带宽。

平常讲带宽时,讲的百兆带宽,它的单位是100Mb,但再去看聚合报告里面的,它的单位是KB。这里面小写b和大写B是不相等的,它们之间是8倍的关系。 100Mb = 100 * 1024kb = 102400kb/8 = 12800KB。然后如果是1兆的带宽那就是 1Mb= 1 * 1024kb = 1024kb/8=128KB。

基于上述的公式,结合自己的带宽再来看看聚合报告,如果接受和发送的KB没有接近理论值,那就是没有网络瓶颈。

补充一点,企业级的带宽与民用带宽不一样,企业级的带宽上行比较宽,下行比较窄,而民用带宽则是相反。

2、并发用户数不变

负载测试时,并发用户数会随着时间变化而变化,而聚合报告是计算的平均值,一旦并发用户数发生变化,那值就不准确了。

聚合报告中每一行都是一种事务

每一列的意思:
样本:在运行过程中,所有并发用户数在一段时间内总共发起的请求数
单独看样本是无法知道并发用户数、执行时长,但并发用户数和执行时长可以在线程组里面看。

然后当并发用户数、执行时长、样本是已知时,那就可以计算出Tps:
并发用户数® * 时长(S) * 频率§ = 样本数
10R * 60S * P = 500
P ≈ 0.83 意思就是每个用户每秒钟发起0.83个请求,那10个用户就是每秒钟8.3个请求

平均值、中位数、…最小值:这些都是响应时间,单位是毫秒ms
其中90%、95%、99%的意思是总共的样本里有百分之90、95、99的请求小于等于聚合报告里的值。
90%~95%是比较有参考价值的。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只要你仍有梦想,你就还有机会。不管你现在处于什么位置,只要你拥有勇气与毅力,就能够战胜困难。无论前方会遭遇怎样的挑战,我们都要坚持走下去,为了理想而奋斗。

只有勇敢面对挑战,才能收获胜利的喜悦;只有不断努力奋斗,才能谱写人生最美妙的篇章。

只有在努力奋斗的过程中,我们才能真正感受到生命的存在。每一份汗水都是成就的铸造,每一次坚持都是梦想的践行。让我们怀揣着信念,不断向前,勇往直前。

相关文章:

全网最详细,Jmeter性能测试-性能基础详解,终成测试卷王(一)

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 发起请求 发起HTTP…...

人工智能概述

一、人工智能发展必备三要素 算法 数据 算力 CPU、GPU、TPU 计算力之CPU、GPU对比: CPU主要适合I\O密集型任务GPU主要适合计算密集型任务 什么样的程序适合在GPU上运行? 计算密集型的程序 所谓计算密集型(Compute-intensive)的程序,就是…...

API接口安全—webservice、Swagger、WEBpack

API接口安全—webservice、Swagger、WEBpack1. API接口介绍1.1. 常用的API接口类1.1.1. API接口分类1.1.1.1. 类库型API1.1.1.2. 操作系统型API1.1.1.3. 远程应用型API1.1.1.4. WEB应用型API1.1.1.5. 总结1.1.2. API接口类型1.1.2.1. HTTP类接口1.1.2.2. RPC类接口1.1.2.3. web…...

从前M个字母中取N个的无重复排列 [2*+]

目录 从前M个字母中取N个的无重复排列 [2*+] 程序设计 程序分析 从前M个字母中取N个的无重复排列 [2*+] 输出从前M个字母中取N个的无重复字母排列 Input 输入M N 1<=M=10, N<=M Output 按字典序输出排列 Sample Input 4 2 Sample Output A B A C A D B A B C B …...

ES forceMerge 强制段合并为什么会提升检索性能?

根据以前的测试&#xff0c;forceMerge段合并&#xff0c;将段的个数合并成一个。带来了将近一倍的性能提升&#xff0c;测试过程文档&#xff08;请参考我的另外一篇文章&#xff09;&#xff1a;ES优化实战- forceMerge搜索提升测试报告_es forcemerge_水的精神的博客-CSDN博…...

macOS Ventura 13.3.1 (22E261) Boot ISO 原版可引导镜像

本站下载的 macOS 软件包&#xff0c;既可以拖拽到 Applications&#xff08;应用程序&#xff09;下直接安装&#xff0c;也可以制作启动 U 盘安装&#xff0c;或者在虚拟机中启动安装。另外也支持在 Windows 和 Linux 中创建可引导介质。 macOS Ventura 13.3.1 为 Mac 提供下…...

html+css+JavaScript+json+servlet的社区系统(手把手教学)

目录 课前导读&#xff1a; 一、系统前期准备 二、前端代码的编写 三、登陆页面简介 四、注册页面 五、社区列表页 六、社区详情页 七、社区发帖页 八、注销 九、访问链接 登陆页面http://175.178.20.77:8080/java106_blog_system/login.html 总结&#xff1a; 课前…...

UI Toolkit(1)

UI ToolkitUI Toolkit界面画布设置背景制作UI布局UI Toolkit界面 在Unity 2021LTS版本之后UI Toolkit也被内置在Unity中&#xff0c;Unity有意的想让UI Toolkit 成为UI的主要搭建方式&#xff0c;当然与UGUI相比还是有一定的差别。他们各有有点&#xff0c;这次我们就开始介绍…...

vLive带你走进虚拟直播世界

虚拟直播是什么&#xff1f; 虚拟直播是基于5G实时渲染技术&#xff0c;在绿幕环境下拍摄画面&#xff0c;通过实时抠像、渲染与合成&#xff0c;再推流到直播平台的一种直播技术。尽管这种技术早已被影视工业所采用&#xff0c;但在全民化进程中却是困难重重&#xff0c;面临…...

初谈 ChatGPT

引子 最近&#xff0c;小编发现互联网中的大 V 突然都在用 ChatGPT 做宣传&#xff1a;“ChatGPT不会淘汰你&#xff0c;能驾驭ChatGPT的人会淘汰你”、“带领一小部分人先驾驭ChatGPT”。 确实&#xff0c;ChatGPT这个新生事物&#xff0c;如今被视为蒸汽机、电脑、iPhone 般的…...

JAVA练习103-螺旋矩阵

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 4月9日练习内容 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、题目-螺…...

RecvByteBufAllocator内存分配计算

虽然了解了整个内存池管理的细节&#xff0c;包括它的内存分配的具体逻辑&#xff0c;但是每次从NioSocketChannel中读取数据时&#xff0c;应该分配多少内存去读呢&#xff1f; 例如&#xff0c;客户端发送的数据为1KB , 应该分配多少内存去读呢&#xff1f; 例如&#xff1a;…...

图数据结构与算法

什么是图数据的结构 图是由顶点和边组成的非线性数据结构。顶点有时也称为节点,边是连接图中任意两个节点的线或弧。更正式地说,图由一组顶点 ( V ) 和一组边 ( E ) 组成。该图由 G(E, V) 表示。 图的组成部分 顶点:顶点是图的基本单位。有时,顶点也称为顶点或节点。每个节…...

科普:c语言与C++的区别

C语言和C语言是两种广泛使用的编程语言&#xff0c;尽管它们非常相似&#xff0c;但它们在某些方面也存在不同之处。本文将详细介绍C语言和C语言的区别。 1. 编程范式 C语言是一种过程式编程语言&#xff0c;它的设计目标是为了编写操作系统和其他系统级编程。C语言是一种面向…...

流量整形(GTS和LR)

Generic Traffic Shaping通用流量整形 通用流量整形(简称GTS)可以对不规则或不符合预定流量特性的流量进行整形,以保证网络上下游之间的带宽匹配,避免拥塞发生。 GTS与CAR一样,都采用了令牌桶技术来控制流量。GTS与CAR的主要区别在于:利用CAR进行报文流量控制时,…...

Java接口详细讲解

目录 Java接口概念 Java接口主要有以下特点 Java接口的具体作用 定义接口 实现接口 接口继承 默认方法 静态方法 Java接口概念 Java编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。 …...

元宇宙地产暴跌,林俊杰亏麻了

文/章鱼哥出品/陀螺财经随着元宇宙的兴起&#xff0c;元宇宙地产曾一度被寄予厚望&#xff0c;成为各大投资者追捧的对象。然而&#xff0c;最近的一次元宇宙地产价值暴跌再次提醒我们&#xff0c;高收益背后可能伴随着高风险。根据元宇宙分析平台WeMeta的数据显示&#xff0c;…...

什么是瀑布流布局?瀑布流式布局的优缺点

瀑布流又称瀑布流式布局&#xff0c;是一种多列等宽不等高的一种页面布局方式。 视觉表现为参差不齐的多栏布局。随着页面滚动条向下滚动&#xff0c;这种布局会不断加载数据并附加至当前的尾部。 是一种多列等宽不等高的一种页面布局方式&#xff0c;用于图片比较复杂&#…...

给您的 MongoDB 定期做个体检:MongoDB 诊断

新钛云服已累计为您分享739篇技术干货接下来的一些列文章会为大家介绍日常工作中常用的 NoSQL 产品 MongoDB。主要涉及到&#xff1a;MongoDB 的安装及基本使用 MongoDB 文档查询 MongoDB 复制集 MongoDB 分片集群的介绍及搭建 MongoDB 安全加密 MongoDB 诊断我们会用…...

【云原生进阶之容器】第五章容器运行时5.8--容器热迁移

《云原生进阶之容器》专题索引: 第一章Docker核心技术1.1节——Docker综述第一章Docker核心技术1.2节——Linux容器LXC第一章Docker核心技术1.3节——命名空间Namespace第一章Docker核心技术1.4节——chroot技术第一章Docker核心技术1.5.1节——cgroup综述...

轻松破解游戏资源加密难题:RPG Maker Decrypter使用指南

轻松破解游戏资源加密难题&#xff1a;RPG Maker Decrypter使用指南 【免费下载链接】RPGMakerDecrypter Tool for extracting RPG Maker XP, VX and VX Ace encrypted archives. 项目地址: https://gitcode.com/gh_mirrors/rp/RPGMakerDecrypter 直面游戏资源解密痛点 …...

STM32CubeMx 软件模拟SPI四种模式

(1)SPI的概念&#xff1a; SPI总线传输一共有&#xff14;种模式&#xff0c;这&#xff14;种模式分别由时钟极性(CPOL)和时钟相位(CPHA)来定义。 CPOL&#xff1a;规定了SCK时钟信号空闲状态的电平 CPHA&#xff1a;规定了数据是在SCK时钟的上升沿还是下降沿被采样 模式0&am…...

消费级GPU福音:OpenClaw+百川2-13B量化版显存占用实测

消费级GPU福音&#xff1a;OpenClaw百川2-13B量化版显存占用实测 1. 为什么关注显存占用&#xff1f; 去年折腾大模型本地部署时&#xff0c;最头疼的就是显存问题。我的RTX3060显卡只有12GB显存&#xff0c;跑Llama2-13B原版模型时&#xff0c;加载阶段就直接爆显存。直到发…...

造相-Z-Image-Turbo 在计算机网络教学中的应用:可视化展示协议交互角色

造相-Z-Image-Turbo&#xff1a;让计算机网络协议“活”起来的教学新助手 每次讲到TCP三次握手、HTTP请求响应这些概念&#xff0c;看着台下学生迷茫的眼神&#xff0c;你是不是也感到头疼&#xff1f;协议栈、数据包、端口号&#xff0c;这些抽象的名词和冰冷的箭头图&#x…...

Comsol 模拟地下水井抽采与回灌:不同工况下的奇妙之旅

comsol地下水井抽采与回灌&#xff0c;井运行时间不连续&#xff0c;分粗沙&#xff0c;细沙以及粘土三种工况最近在研究地下水相关课题&#xff0c;用到 Comsol 模拟井抽采与回灌过程&#xff0c;发现其中不连续运行时间以及不同地质工况设置还挺有意思&#xff0c;今儿个来跟…...

HiDream_E1_1:全新AI绘图GGUFS模型来袭

HiDream_E1_1&#xff1a;全新AI绘图GGUFS模型来袭 【免费下载链接】HiDream_E1_1_bf16_ggufs 项目地址: https://ai.gitcode.com/hf_mirrors/ND911/HiDream_E1_1_bf16_ggufs 导语&#xff1a;AI图像生成领域再添新成员&#xff0c;HiDream_E1_1_bf16_ggufs模型正式发布…...

Yuzu模拟器终极指南:7天学会如何选择最佳版本和优化性能 [特殊字符]

Yuzu模拟器终极指南&#xff1a;7天学会如何选择最佳版本和优化性能 &#x1f3ae; 【免费下载链接】yuzu-downloads 项目地址: https://gitcode.com/GitHub_Trending/yu/yuzu-downloads 还在为选择哪个Yuzu模拟器版本而头疼吗&#xff1f;&#x1f62b; 别担心&#x…...

用MATLAB玩转三维可视化:手把手教你绘制动态曲面图(含peaks函数详解)

MATLAB三维可视化实战&#xff1a;从静态曲面到动态交互的全方位指南 科研工作者常面临海量数据的可视化挑战&#xff0c;而MATLAB提供的三维图形工具链能将这些抽象数字转化为直观的空间形态。本文将带您深入探索三维可视化的核心技巧&#xff0c;从基础绘图到高级交互&#x…...

【2026年小红书春招- 3月25日 -第一题- 数据库】(题目+思路+JavaC++Python解析+在线测试)

题目内容 小红书数据库中有用户编号、用户名称和用户经验三个字段,其中: 用户编号为 111 到 10910^910...

3步开启智能歌词管理:告别手动搜索,拥抱高效音乐体验

3步开启智能歌词管理&#xff1a;告别手动搜索&#xff0c;拥抱高效音乐体验 【免费下载链接】163MusicLyrics Windows 云音乐歌词获取【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 你是否曾在深夜听到一首动人的歌曲&#xff…...