项目实战一-性能测试筑基

在这里插入图片描述

这里写目录标题

  • 一、为什么程序会出现性能问题、性能问题是怎么出现的?
  • 二、功能测试和性能测试的区别是什么?
  • 三、核心性能指标
    • 1、用户角度核心
      • a、响应时间:
      • b、并发量
    • 2、成本角度
    • 3、运维角度
    • 面试题、并发量和吞吐量得区别?
      • a、吞吐量
      • b、并发量
  • 四、性能测试核心三步骤
    • 1、性能需求
      • a、学会梳理需求
      • b、业务场景:
      • c、性能指标
      • d、性能测试执行思路(用例)
    • 2、执行性能测试
    • 3、性能结果分析

一、为什么程序会出现性能问题、性能问题是怎么出现的?

任何程序的运行都需要资源(CPU、内存、磁盘、网络)
资源不是无限的

  • 程序运行就会受限
  • 每一个请求后端处理都占用资源
  • 一个图片查看请求
    在这里插入图片描述

在这里插入图片描述

二、功能测试和性能测试的区别是什么?

在这里插入图片描述

三、核心性能指标

TPS
QPS
HPS
RT(响应时间)
错误率
并发量

1、用户角度核心

a、响应时间:

一次操作的完成时间
等待处理+处理时间

在这里插入图片描述

b、并发量

相对并发和绝对并发的区别

线程数=绝对并发
发起请求之后,会继续请求
一个请求500ms完成,又发起一个请求500ms完成
此时:1个线程——》2个并发/s——》相对并发

一个线程在单位时间内(秒)发起的总共请求数量 = 相对并发

2、成本角度

资源占用率
在这里插入图片描述

3、运维角度

吞吐量:一进一出;输入——》处理——》输出
QPS:

每秒查询率
针对查询类请求处理,每秒能处理多少查询,数据库中不涉及修改数据

TPS

每秒处理的事务数
涉及数据变更的操作——》从数据库微观——》事务,多个操作
反应程序的处理能力综合体现:TPS越大越好

面试题、并发量和吞吐量得区别?

a、吞吐量

是指系统在单位时间内能够处理的请求数量或事务数量。它常用于评估系统的性能和容量。
在软件测试领域,吞吐量通常用来衡量系统在一定负载下能够处理的请求或事务的数量。对于一个高并发的系统,吞吐量的大小直接关系到系统的性能和稳定性
例如,一个电商网站每秒钟能够处理100个订单,那么它的吞吐量就是100 TPS(Transactions Per Second)。另一种计算方式是通过每秒钟处理的请求数量来衡量。

在进行性能测试时,我们通常会通过模拟真实用户的行为或者生成大量的请求来测试系统的吞吐量。通过监测系统在不同负载下的吞吐量,可以评估系统的性能瓶颈、优化效果以及系统是否能够承受预期的工作量。

b、并发量

是指系统能够同时处理的请求数量或事务数量。它描述了系统在同一时间段内可以同时执行的任务数。

在软件测试和系统设计中,并发量是一个重要的指标,用来衡量系统的并发处理能力和性能。并发量通常与系统的资源、线程数量以及处理能力相关。
用户并发量:表示系统能够同时处理的用户请求或并发连接数量。例如,一个Web服务器能够同时处理1000个并发用户请求,那么它的并发量就是1000。

并发量对于系统设计和性能优化非常重要。如果系统的并发量超过了系统所支持的范围,可能会导致系统性能下降、响应时间延长甚至系统崩溃。因此,在进行系统设计和性能测试时,需要充分考虑并发量,并保证系统能够合理处理并发请求,确保系统的稳定性和性能

在这里插入图片描述

四、性能测试核心三步骤

1、性能需求

极端:你给我一个性能报告

全面测试
看起来没有要求,其实全部要求了

a、学会梳理需求

性能测试不能脱离实际需求,所以不论是测试哪一种场景,有哪方面得性能需求,我们在执行测试的时候,都会涉及具体的业务场景

产品经理:比竞品要快一点
在这里插入图片描述

b、业务场景:

app首屏广告加载

c、性能指标

在这里插入图片描述

d、性能测试执行思路(用例)

采用思路2
在这里插入图片描述

2、执行性能测试

在这里插入图片描述

3、性能结果分析

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/214682.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一些后端测试的东西

后端测试都测试些什么 接口测试最小单元测试联调测试 接口测试 接口测试要素 可重复性 异常覆盖 环境一致 如何进行方便的接口测试 测试工具: idea-httpRequest , apifox , postman, jmeter 如何使用idea进行高效的接口测试 编写接口 启动项目直接…

AD生产BOM表时如何隐藏不需要的器件记录

在完成图纸设计号通常需要生产BOM表,以便采购等,如果不做一些操作,往往输出的BOM表中包含一些非需要采购的器件,如下图 这时就需要对原理图或者PCB图做一些处理,以原理图为例,在需要屏蔽的器件上双击&#…

【C语言】扫雷小游戏初学者版

成功的秘诀就是每天都比别人多努力一点。 今天给大家带来一款非常经典的小游戏——扫雷的实现和讲解 这里是目录 前言整体框架1.打印菜单2.创建二维数组3.初始化棋盘4.打印棋盘5.布置棋盘中的雷6.排查雷和统计雷总体代码test.cgame.cgame.h 进阶(递归展开&#xff0…

力扣572:另一棵树的子树

力扣572:另一棵树的子树 给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true ;否则,返回 false 。 二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所…

SpringBootAdmin

SpringBootAdmin 文章目录 SpringBootAdmin创建SpringBootAdmin服务端创建SpringBootAdmin客户端启动应用 总结 github地址 https://github.com/codecentric/spring-boot-admin 可以查到所有的版本号 创建SpringBootAdmin服务端 创建springBoot项目的时候,在ops选项…

【Vue】Vue CLI 脚手架(Vue Command Line Interface)安装教程(通过npm)

前言 Vue CLI(Vue Command Line Interface)是一个基于Vue.js的官方脚手架工具,用于快速搭建和管理Vue.js项目。它提供了一套完整的开发工具和配置,包括项目初始化、开发服务器、热重载、构建和打包等功能。 Vue CLI使用了Webpac…

使用PCSS实现的实时阴影效果

PCSS的技术可以使得阴影呈现出近硬远软的效果,并且能够实时实现。 其核心理念是通过模拟光源的面积来产生更自然、更柔和的阴影边缘。 具体步骤: 1、生成shadowmap 2、在进行阴影的比较时候进行平均,并非之前的shadow map 或者之后完全的阴影…

laraval6.0 GatewayWorker 交互通信

laravel 6.0 GatewayWorker 通讯 开发前准备下载 GatewayWorker 及操作方式前端demo测试效果项目中安装GatewayClient 开发前准备 GatewayClient 官网:https://www.workerman.net/ 当前使用的是宝塔操作 下载 GatewayWorker 及操作方式 前端demo 测试效果 项目中安…

unordered_map与unordered_set的实现(含迭代器)

unordered_map与unordered_set的实现 文章目录 unordered_map与unordered_set的实现前言一、问题一HashTable.h 二、问题二&问题三1.封装时如何取出key2.不同类型key如何建立对应关系 三、问题四&问题五问题四问题五 四、实现代码MyUnorderedSet.hMyUnorderedMap.hHash…

文案二次创作软件,文案二次创作的软件

文案创作成为品牌传播和营销不可或缺的一环。对于许多从业者而言,文案创作常常是一项既耗时又耗力的工作。为了解决这一文案创作的难题,市场上涌现出了众多的智能文案生成工具。我们通过对这些工具的介绍和分析,希望能够为你提供一些在文案创…

Kafka 架构深度解析:生产者(Producer)和消费者(Consumer)

Apache Kafka 作为分布式流处理平台,其架构中的生产者和消费者是核心组件,负责实现高效的消息生产和消费。本文将深入剖析 Kafka 架构中生产者和消费者的工作原理、核心概念以及高级功能。 Kafka 生产者(Producer) 1 发送消息到…

【C++】异常处理 ⑦ ( 异常类的继承层次结构 | 抛出 / 捕获 多个类型异常对象 | 抛出子类异常对象 / 捕获并处理 父类异常对象 )

文章目录 一、抛出 / 捕获 多个类型异常对象1、抛出 / 捕获 多个类型异常对象2、操作弊端3、完整代码示例 二、异常类的继承层次结构1、抛出子类异常对象 / 捕获并处理 父类异常对象2、完整代码示例 - 抛出子类异常对象 / 捕获并处理 父类异常对象 自定义的 异常类 , 可能存在 …

prometheus部署及与grafana结合应用

一、prometheus 介绍 prometheus server 是 Prometheus组件中的核心部分,负责实现对监控数据的获取,存储以及查询。它会定期从静态配置的监控目标或者基于服务发现自动配置的自标中进行拉取数据,当新拉取到的数据大于配置的内存缓存区时&…

Python 入门

目录 编译性语言 解释型语言 Python语言介绍 Python安装 配置环境变量 Pycharm安装 Pycharm基本使用 编译性语言 解释型语言 计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程…

vue3项目脚手架如何使用swiper, ‘vue-awesome-swiper‘报错解决(简单示例)

目录 前言 使用方法 效果图 1.下载swiper 2. 写入需要的页面 3.在对应页面引入组件 4.推荐页完整代码 前言 Vue3和Vue2在使用swiper时是有差别的,Vue3引入swiper需要注意Vu3的版本和swiper的版本,如果不匹配通常会报错 如下:当引用版本过…

canvas基础:绘制虚线

canvas实例应用100 专栏提供canvas的基础知识,高级动画,相关应用扩展等信息。 canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重要的帮助。 文章目录 示例…

【深度学习实验】图像处理(四):PIL——自定义图像数据增强操作(图像合成;图像融合(高斯掩码))

文章目录 一、实验介绍二、实验环境1. 配置虚拟环境2. 库版本介绍 三、实验内容0. 导入必要的库1. PIL基础操作2~4. 随机遮挡、随机擦除、线性混合5. 图像合成5.1 原理5.2 实现5.3 效果展示 6. 图像融合6.1 原理6.2 实现6.3 效果展示 一、实验介绍 在深度学习任务中&#xff0c…

【数据库原理】函数依赖、三范式、视图、事务、数据库设计(概念、逻辑、物理结构设计,实施)、数据流图、数据字典、存储过程、触发器、备份与还原【我统统拿下!】

函数依赖 函数依赖是关系数据库中的重要概念,用于描述关系中属性之间的依赖关系。 在关系数据库中,如果关系 R 中的某个属性或属性组的值能够唯一确定关系中其他属性的值,那么我们就说这个属性或属性组对其他属性具有函数依赖关系。 举个例…

“此应用专为旧版android打造,因此可能无法运行”,问题解决方案

当用户在Android P系统上打开某些应用程序时,可能会弹出一个对话框,提示内容为:“此应用专为旧版Android打造,可能无法正常运行。请尝试检查更新或与开发者联系”。 随着Android平台的发展,每个新版本通常都会引入新的…

人工智能发展史

人工智能(AI)的发展史是一段跨越数十年的旅程,涵盖了从早期理论探索到现代技术革新的广泛内容。人工智能的发展历程展示了从最初的概念探索到现代技术突破的演变。尽管经历了多次起伏,但AI领域持续进步,不断拓展其应用…