测试——性能测试

news2024/11/14 19:53:13

内容大纲:

常见的性能问题

性能测试是什么

性能测试和功能测试之间的区别

为什么要进行性能测试

常见的性能指标及性能测试专业术语

性能测试分类

1. 常见的性能问题

系统内部以及软件的代码实现:

  • 资源泄漏,包括内存泄漏。
  • CPU使用率达到100%,系统被锁定等。
  • 线程死锁,阻塞等造成系统越来越慢。
  • 查询速度慢,或者列表的效率低。
  • 受外部系统影响越来越大

举个例子:

 

2. 性能测试是什么

简单来说,就是测试人员借助测试工具,模拟系统在不同的场景下,对应的性能指标是否达到预期

 

3. 性能测试和功能测试之间的区别

功能测试:人工完成,在一些常见的场景下,只要能够运行就可以

性能测试:借助工具完成,在一些极端的情况下,需要保障软件能够正常工作

 

4.什么样的系统/软件表现属于性能好/不好

就比如说同一个软件的不同版本,1.0版本登录需要花费2s,2.0版本花费1s,这就说明2.0版本做了提升,性能较好

5. 为什么要进行性能测试

  • 获取系统性能的指标,作为性能指标的基准 
  • 验证系统的性能指标是否达到要求(性能需求)
  • 发现系统的性能瓶颈,内存泄漏等问题
  • 系统正常工作的情况下的最大容量
  • 帮助系统运维部门能更好的规划硬件配置

 

6. 常见的性能指标及性能测试专业术语

6.1 并发数

并发用户会对系统造成压力

比如说:双十一时,有100万的用户同时操作淘宝, 此时淘宝系统承载的压力非常大

  • 并发的条件:大量用户,同时操作 
  • 并发数:同一个时间点,同时请求服务的客户数量
  • 系统用户数:数据库中保存的用户数量
  • 在线用户数:登录成功后的用户数量
  • 并发用户数:当系统达到并发的时候,用户的数量即为并发用户数

6.2 响应时间/平均响应时间

  • 从用户视角来考虑,响应时间反映了完成某个操作所需要的时间
  • 标准定义是,应用系统从发出请求开始,到客户端接收完所有的字节数据所消耗的时间 

 

用户响应时间:

用户从发起请求到用户看到响应中间经历的时间

N1+A1+N2+A2+N3+A3+N4

请求响应时间:

服务器接收到请求到发出响应这段时间

A1+N2+A2+N3+A3

问:如果一个软件发布上线了,但是使用某个功能时,页面响应时间较长,有哪些可能的影响因素?

  • 用户设备太老旧
  • 网络太慢
  • 服务器处理太慢
  • 软件算法时间复杂度太高
  • 数据库性能太差

6.3 事务响应时间

  • 事务从请求开始,到事务响应成功花费的时间就是事务响应时间
  • 每秒完成的事务数,通常指每秒成功的事务数,性能测试中重要的综合性性能指标

举个例子,当用淘宝支付时,输入密码确定,支付成功(在支付前,系统会调用用户,收银台,支付系统.... )

6.4 每秒事务通过数

  • TPS 是指每秒系统能够处理的事务数。它是衡量系统处理能力的重要指标 
  •  每秒事务通过数越大,代表系统处理能力越高

对于同一系统会存在一个最大处理事务能力,它并不随着并发用户的增减而改变

比如地铁检票机:

只有10台进站检票的机器,1台机器1秒能进1个人

并发用户数为5,则TPS为5

并发用户数为10,则TPS为10

并发用户数为100,则TPS仍为10

6.5 点击率

  • 每秒点击数代表用户每秒向Web 服务器提交的HTTP请求数。点击率越大,服务器压力越大
  • 这里的点击并不是鼠标的一次点击,一次点击可能有多次HTTP请求

6.6 吞吐量

这里的吞吐量以单位时间为度量衡量

6.7 吞吐率

吞吐量/请求处理时间

size/time 

6.8 思考时间

  • 指模拟正式用户在实际操作时的停顿间隔时间
  • 从业务的角度来讲,思考时间指的是用户在进行操作时,每个请求之间的间隔时间

6,9 资源利用率

不同系统资源的使用情况。包含CPU,内存,硬盘,网络等

 

7. 性能测试方法

7.1 代码级别的性能测试

  • 在单元测试阶段就对代码的时间性能和空间性能进行必要的测试和评估,以防止底层代码的效率问题在项目后期才发现的尴尬 
  • (让系统在正常情况下运行,观察各种性能指标)
  • 应用场景:软件性能摸底

7.2 基准性能测试

  • 是通过性能测试获取系统的性能指标,建立一个性能基准,作为以后性能测试的参考
  • (让系统背负一定的压力,观察性能指标是否出现拐点)
  • 系统进行性能基准测试可以在系统开发的较早的阶段发现性能问题

7.3 并发测试

  • 是在同一时间内,同时调用后端服务,期间观察被调用服务在并发情况下的行为表现, 目的是为了发现如资源竞争,死锁等问题
  • 这里的并发测试指的是严格的并发测试,也就是所有用户在同一时刻向后端服务器发送请求

7.4 压力测试

  • 通常指的是后端压力测试,一般采用后端性能测试的方法,不断对系统施加压力,验证系统长期处于临界饱和阶段的稳定性以及性能指标的变化
  • (让系统处于饱和状态,观察性能指标)
  • 压力测试往往会把系统搞崩溃

7.5 配置测试

系统性能的好坏,不仅仅取决于软件自身的设计和实现,也取决于软件运行所依赖的硬件,网络环境。 为了达到系统性能指标要求,就需要调整系统的硬件配置,如增加服务器或者服务器集群来达到更高的性能。

  1. 通过基准测试,建立性能基线
  2. 在此基础上,调整配置
  3. 基于同样的性能基准测试,观察不同配置下系统性能的差异,目的是找出特定压力模式下的最佳配 置

7.6 可靠性测试

  • 验证系统在常规负载模式下长期运行的稳定性 
  • 验证系统在一段时间内/一周内/一个月内/一年内持续运行,观察各项性能指标是否正常

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue3组件通信

1、props 1.1 父传子 父组件:通过属性在子组件标签传递 子组件:通过defineProps接收 1.2 子传父 1.父组件先给子组件传递一个函数 2.子组件接收此参数(函数),并在合适的时机调用此函数,通过函数的参数&…

SEO之网站结构优化(四)

初创企业搭建网站的朋友看1号文章;想学习云计算,怎么入门看2号文章谢谢支持: 1、我给不会敲代码又想搭建网站的人建议 2、新手上云 4、清晰导航 清晰的导航系统是网站设计的重要目标,对网站信息架构、用户体验影响重大。SEO也越来…

Hadoop高可用集群搭建及API调用

NameNode HA 背景 在Hadoop1中NameNode存在一个单点故障问题,如果NameNode所在的机器发生故障,整个集群就将不可用(Hadoop1中虽然有个SecorndaryNameNode,但是它并不是NameNode的备份,它只是NameNode的一个助理,协助NameNode工作,SecorndaryNameNode会对fsimage和edits文…

【BUG】已解决:OSError: [Errno 22] Invalid argument

已解决:OSError: [Errno 22] Invalid argument 目录 已解决:OSError: [Errno 22] Invalid argument 【常见模块错误】 错误原因: 解决方法如下: 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&…

基于luckysheet实现在线电子表格和Excel在线预览

概述 本文基于luckysheet实现在线的电子表格,并基于luckyexcel实现excel文件的导入和在线预览。 效果 实现 1. luckysheet介绍 Luckysheet ,一款纯前端类似excel的在线表格,功能强大、配置简单、完全开源。 官方文档在线Demo 2. 实现 …

配置单区域OSPF

目录 引言 一、搭建基础网络 1.1 配置网络拓扑图如下 1.2 IP地址表 二、测试每个网段都能单独连通 2.1 PC0 ping通Router1所有接口 2.2 PC1 ping通Router1所有接口 2.3 PC2 ping通Router2所有接口 2.4 PC3 ping通Router2所有接口 2.5 PC4 ping通Router3所有接口 2.…

力扣 28找到字符串中第一个匹配项的下标 KMP算法

思路: 朴素匹配有很多步骤是多余的 KMP算法能够避免重复匹配 KMP算法主要是根据子串生成的next数组作为回退的依据,它记录了模式串与主串(文本串)不匹配的时候,模式串应该从哪里开始重新匹配。 这里讲一下为什么用模式串的最大公共前后缀…

基于python的当当二手书数据分析与可视化系统设计与实现

1.1 研究背景及现状 1.1.1 研究背景 生态文明建设是我国的基本国情之一,资源利用作为应该重要的环节[1]。然而随着大学校园内掀起倡导的低碳环保热潮,高校学生教材及其他书籍的目前的处理方式已被大多人所关注[2]。从循环利用资源的角度出发[3]&…

封装MAVSDK为JAR包并导出给其它Android工程用完整示例

效果: 未解锁状态 已执行解锁指令 已执行起飞指令 飞行中 已执行降落指令 已执行返航指令 实现步骤: 1.准备PX4容器并启动:

Java项目中整合多个pdf合并为一个pdf

一、Java项目中整合多个pdf合并为一个pdf gitee笔记路径&#xff1a;https://gitee.com/happy_sad/drools一、依赖导入 <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.6</version> …

AtCoder Beginner Contest 362

&#x1f680;欢迎来到本文&#x1f680; &#x1f349;个人简介&#xff1a;陈童学哦&#xff0c;彩笔ACMer一枚。 &#x1f3c0;所属专栏&#xff1a;Codeforces 本文用于记录回顾总结本彩笔的解题思路便于加深理解。 比赛题目地址&#xff1a;AtCoder Beginner Contest 362 …

【保卫花果山】游戏

游戏介绍 拯救花果山是一款玩家能够进行趣味闯关的休闲类游戏。拯救花果山中玩家需要保护花果山的猴子&#xff0c;利用各种道具来防御妖魔鬼怪的入侵&#xff0c;游戏中玩家需要面对的场景非常的多样&#xff0c;要找到各种应对敌人的方法。拯救花果山里玩家可以不断的进行闯…

vue基于Cookies实现记住密码自动登录功能

vue基于Cookies实现记住密码自动登录功能 Cookies 和localStorage存储比对 实现记住密码功能时&#xff0c;使用 Cookies 和使用 localStorage 各有其优势和考虑因素&#xff0c;具体需要取决于需求和安全考量&#xff1a; 1、Cookies 的优势&#xff1a; 广泛支持&#x…

中介者模式详解:概念、优点及实例

目录 中介者模式中介者模式结构中介者模式适用场景中介者模式优缺点练手题目题目描述输入描述输出描述题解 中介者模式 中介者模式是一种行为设计模式&#xff0c; 能让你减少对象之间混乱无序的依赖关系。 该模式会限制对象之间的直接交互&#xff0c; 迫使它们通过一个中介者…

windows ssh的登录,私钥权限太开放 WARNING: UNPROTECTED PRIVATE KEY FILE!

问题描述 ssh -i wang -D localhost:1080 wangsg.ks99.topBad permissions. Try removing permissions for user Permissions for xxx are too open. F:\pms\pms-gpg-key\ssh-key\wang>ssh -i wang -D localhost:1080 wangsg.ks99.top Bad permissions. Try removing perm…

查看公网IP的网络出口

文章目录 背景 背景 有时候在各种交易或其他时候&#xff0c;会被问到给我一个公网IP&#xff0c;我来帮你加白名单。 这个怎么怎么获取公网IP呢&#xff0c;在自己本机查看ipconfig或者ifconfig ip a 等命令查到的一般都是局域网的IP&#xff0c;每台机器都需要一个IP来进行对…

【文档智能 RAG】RAG新基建-RAG性能增强关键技术点及通用文档解析工具-TextIn

前言 在私有领域知识问答和企业知识管理领域&#xff0c;结合检索增强型生成模型&#xff08;Retrieval-Augmented Generation, RAG&#xff09;大模型&#xff08;Large Language Model, LLM&#xff09;已成为一种趋势。然而&#xff0c;在RAG系统的文档预处理阶段和检索阶段…

【Elasticsearch7】3-基本操作

目录 RESTful 数据格式 HTTP操作 索引操作 倒排索引 创建索引 查看所有索引 查看单个索引 删除索引 文档操作 创建文档 查看文档 ​编辑 全量修改 ​编辑局部修改 删除文档 条件删除文档 高级查询 条件查询 URL带参查询 请求体带参查询 带请求体方式的查…

STM32的ADC详解

目录 一、ADC简介 二、ADC的时钟 三、ADC特性 四、ADC功能说明 五、规则通道和注入通道 1.规则通道 2.注入通道 3.区别 六、数据寄存器 1.右对齐 2.左对齐 七、转换模式 1.单次转换模式 2.续转换模式 3.扫描模式 4.区别 八、程序实现 1.需求 2.ADC初始化 3.A…

InfiniBand网络-赋能高性能计算的卓越引擎

InfiniBand&#xff1a;赋能高性能计算网络的卓越引擎 InfiniBand作为一种先进的内网计算平台&#xff0c;已成为驱动高性能计算&#xff08;HPC&#xff09;、人工智能&#xff08;AI&#xff09;以及超大规模云基础设施演进的核心力量&#xff0c;其展现出无可比拟的性能优势…