性能测试度量指标

1-响应时间

响应时间指从用户或事务在客户端发起一个请求开始,到客户端接收到从服务器端返回的响应结束,这整个过程所消耗的时间
在这里插入图片描述
在性能测试实践中,为了使响应时间更具代表性,响应时间通常是指事务的平均响应时间ART
在实践中要注意,不同行业、不同业务可接受的响应时间是不同的。一般情况下,对于在线实时交易,可接受的响应时间参考如下。
❑互联网企业:500毫秒以下,例如淘宝业务为10毫秒左右。
❑金融企业:1秒以下为佳,部分复杂业务为3秒以下。
❑保险企业:3秒以下为佳。❑制造业:5秒以下为佳。

2-用户数

从不同的角度来看,用户数可以分为系统注册用户数、在线用户数和并发用户数。其中,并发用户数指在同一时间段内,同时向系统提交请求的用户数。
在系统建设的规划阶段,有时候需要预测和提供系统能够支撑的并发用户数,作为系统建设的性能要求(需求)。此时可以根据系统规划的注册用户数、同时在线用户数及用户对系统的预期使用场景等进行分析,计算系统的并发用户数
平均并发用户数的计算公式:C=n×L/T
系统的具体并发用户数取决于具体的业务逻辑和业务场景。根据经验,一般应用系统并发用户数为在线用户数的10%~20%。基于泊松分布理论,并发用户数的峰值计算公式:
在这里插入图片描述

其中:
❑P代表并发用户峰值,即最大并发用户数;
❑C是平均并发用户数。一般情况下,大型系统(业务量大、机器多)做压力测试会选取1万~5万个并发用户,中小型系统做压力测试选取5000个用户比较常见。

3-系统处理能力

系统处理能力一般用系统的吞吐量,即系统在单位时间内能够完成的事务数量来衡量。例如,系统每秒处理事务数也称为每秒事务数,即TPS(Transaction Per Second)。从业务的角度看,系统处理能力也可以用页面数/秒、人数/天、处理事务数/小时等单位衡量。

在衡量系统处理能力指标TPS时,需要说明相关的前提条件,如并发用户数及存储上限、网络带宽等系统资源限制情况。

在没有性能瓶颈的情况下,TPS与并发用户数之间存在一定的联系
F=VU×R/T
❑F代表TPS;❑VU是并发用户数;❑R是每个并发用户发出的事务请求数;❑T是性能测试所用的时间。
在业界,一般用TPS来衡量整个业务流程,而且其数值越大越好。对于新建设系统,若没有历史数据做参考,可以根据经验参照同行业系统,并结合具体业务,由业务部门评估TPS标准。一般行业中的TPS参考标准如下。❑金融行业:1000~50000TPS,不包括互联网化的活动。
❑保险行业:100~100000TPS,不包括互联网化的活动。
❑制造行业:10~5000TPS。
❑互联网电子商务:10000~1000000TPS。
❑互联网中型网站:1000~50000TPS。
❑互联网小型网站:500~10000TPS。

4-错误率

错误率指的是系统在负载情况下出现失败交易的概率。错误率的计算公式如下:
错误率=(失败交易数÷交易总数)×100%不同系统对错误率的要求不同,但一般不超出6‰,即成功率不低于99.4%。
在测试过程中,若系统错误率升高,则说明系统的可用性在变差

5-成功率

成功率是指系统处于某种负载压力下出现成功交易的概率。成功率的计算公式如下:成功率=(成功交易数÷交易总数)×100%不同系统对成功率的要求不同,业界中系统成功率一般不低于99.4%

6-资源占用率

资源占用率也称为资源利用率或资源使用率,指系统在负载运行期间对资源的使用程度,包括数据库服务器、应用服务器、Web服务器的CPU、内存、硬盘、外置存储、网络带宽等资源的占用率。

资源占用率是测试和分析系统性能瓶颈的主要参考。
通常低于20%的使用率表示资源空闲,20%~60%的使用率表示资源使用稳定,60%~80%的使用率表示资源使用饱和,超过80%的资源使用率表示必须尽快进行资源调整和优化

7-CPU利用率

CPU利用率是判断系统处理能力以及运行是否稳定的重要参数。如果该值持续超过95%,则表明系统瓶颈是CPU,可以考虑增加一个CPU或更换一个更快的CPU。CPU利用率一般可接受的最大上限是85%,合理使用的范围为60%~70%。

8-内存页交换速率

如果该值偶尔升高,则表明当时有线程竞争内存。如果该值持续很高,则内存可能是瓶颈,也可能是内存访问命中率低。

内存页交换速率(Swap Rate)是指操作系统在物理内存不足时,将部分内存数据转移到磁盘上的过程。它表示单位时间内发生的内存页交换的数量。

当系统的物理内存不足以容纳当前运行的进程所需的所有数据和代码时,操作系统会将部分不常用的内存页转移到磁盘的交换空间(Swap Space)中。这样可以释放物理内存供其他进程使用,同时保持系统的正常运行。

内存页交换速率的值越高,表示系统中频繁进行内存页交换的情况越严重,可能会导致性能下降。因为将数据从硬盘读取到内存或者将内存页写回到硬盘都需要一定的时间和系统资源。频繁的内存页交换可能会增加系统的响应时间,并导致额外的 CPU 开销和磁盘 I/O 开销。

通常,较低的内存页交换速率是理想的,因为它表示系统能够更好地利用物理内存,避免过多的磁盘访问。如果你发现内存页交换速率过高,可以考虑增加系统的物理内存或者优化应用程序、调整系统的内存管理策略来减少内存交换的发生。

9-内存占用率

系统一般至少有10%可用内存,内存占用率可接受上限为85%。
在这里插入图片描述
为了最大限度利用内存,现在的操作系统在内存中设置了缓存,因此即便内存利用率为100%也并不一定代表内存有瓶颈,衡量系统内存是否有瓶颈主要看与虚拟内存的交换空间利用率。
一般情况下,交换空间利用率要低于70%,太多的交换将会引起系统性能低下。内存资源成为系统性能瓶颈的征兆包括:❑很高的内存页交换速率;
❑进程进入不活动状态;
❑交换区所有磁盘的活动次数很高;
❑很高的全局系统CPU利用率;
❑内存不足或出错。

10-磁盘IO

磁盘是指系统用于存储数据的设备。磁盘IO操作主要包括从存储设备上读取数据以及写入数据到存储设备上这两种操作。存数据的时候对应的是写操作,取数据对应的是读操作。一般使用Disk Time(磁盘用于读写操作所占用的时间百分比)和Disk Rate(磁盘交换率)衡量磁盘的读写性能。性能测试过程中,如果被测系统对磁盘读写过于频繁,Disk Rate的值很高,则会导致大量请求处于IO等待的状态,系统负载升高,响应时间变长,吞吐量下降。上述这些现象均表明IO有问题,可能存在磁盘瓶颈,此时可考虑更换更快的硬盘系统。IO资源成为系统性能瓶颈的征兆包括:
❑过高的磁盘利用率;
❑太长的磁盘等待队列;
❑等待磁盘IO时间所占的时间百分比太高;

11-磁盘吞吐量

磁盘吞吐量是指在无磁盘故障的情况下单位时间内通过磁盘的数据量。磁盘吞吐量一般使用每秒总字节数来度量,单位为字节/秒。磁盘指标主要有每秒读写多少MB、磁盘繁忙率、磁盘队列数、平均服务时间、平均等待时间、空间利用率等。其中磁盘繁忙率是直接反映磁盘是否有瓶颈的重要依据,一般情况下磁盘繁忙率要低于70%。

12 网络吞吐量

网络吞吐量是指在无网络故障的情况下单位时间内通过网络的数据量,表示发送和接收字节的速率。网络吞吐量的单位一般是字节/秒。网络吞吐量用于衡量系统网络设备或系统链路的数据传输能力,可通过专门的网络监测工具获取。在实际性能测试中,如果发现系统始终报连接超时错误,而通过手工方式可以正常访问系统,那么可以使用ping指令通过应用服务器IP或网关IP来检查网络的稳定性,如果出现网络严重延迟或丢包,则说明网络不稳定,需要检查网络。网络吞吐量也可以表示网络的带宽占用率,通过该值和网络的带宽比较,可以判断出网络连接速度是不是瓶颈。如图2-6所示,随着横轴并发用户数的增加,网络吞吐量也在增加,网络吞吐量的增长率与并发用户数的增长率基本相同。
在这里插入图片描述
一般情况下,网络吞吐量不能超过设备或链路最大传输能力的70%,如果网络吞吐量指标接近网络设备或链路的最大传输能力,则需要考虑升级网络设备。

13-系统稳定性

系统的稳定性指标通常使用系统的最短稳定时间来表示,即系统在最大容量的80%或标准压力(系统的预期日常压力)下能够稳定运行的最短时间。一般来说,对于正常工作日(8小时)运行的系统,至少应该保证稳定运行8小时以上。对于7天24小时不间断运行的系统,至少应该够保证稳定运行24小时以上。在系统稳定运行的时间段内观察系统的TPS曲线,TPS曲线应该是稳定的,不应出现大幅度波动,且系统各项资源指标没有出现泄漏或异常情况。如果系统不能稳定运行,随着系统上线后业务量增长和长时间运行,系统将会面临性能下降甚至崩溃的风险。

14- 系统扩展性

系统扩展性指应用软件或操作系统以群集方式部署时,增加的硬件资源与获得的处理能力之间的关系。系统扩展性指标的计算公式如下:
在这里插入图片描述

评估系统的扩展能力应通过多轮测试获得扩展性指标的变化趋势。一般扩展能力非常好的应用系统,扩展性指标的变化曲线应是线性或接近线性的。现在很多大规模的分布式系统的扩展能力非常好。理想的系统扩展能力是资源增加几倍,性能就提升几倍。扩展性指标的值至少为70%。

15-内核参数

内核参数操作系统的内核参数主要包括信号量、进程、文件句柄等,如表2-3所示。系统运行期间,一般保证这些参数的值不超过设置的参考值。
在这里插入图片描述
在这里插入图片描述

中间件指标

对于常用的中间件(如Tomcat、WebLogic),指标主要包括JVM、ThreadPool、JDBC
在这里插入图片描述

❑GC频率不能过高,特别是Full GC。在系统性能较好的情况下,一般JVM最小堆大小和最大堆大小分别设置为1024MB比较合适。
❑当前正在运行的线程数不能超过设定的最大值。在系统性能较好的情况下,一般线程数最小值设置为50,最大值设置为200。
❑当前运行的JDBC活动连接数不能超过设定的最大值。在系统性能较好的情况下,一般JDBC最小值设置为50,最大值设置为200。

17 数据库指标

对于常用的数据库(如MySQL),指标主要包括SQL、吞吐量、命中率、连接数等
在这里插入图片描述
❑SQL耗时越小越好,一般情况下为微秒级别;
❑命中率越高越好,一般情况下不能低于95%;
❑锁等待次数越少越好,等待时间越短越好。

18-前端指标

前端指标主要包括页面展示和网络连接消耗的时间
在这里插入图片描述
在实践中,前端页面要尽可能小,因为这样页面展示就会越快,花费的时间就会越短,用户体验就会越好。

性能测试和监测的度量指标样例表

在这里插入图片描述
在这里插入图片描述
本文《企业性能测试:体系构建、落地指导与案例解读》

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

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

相关文章

redis持久化、主从和哨兵架构

一、redis持久化 1、RDB快照(snapshot) redis配置RDB存储模式,修改redis.conf文件如下配置: # 在300s内有100个或者以上的key被修改就会把redis中的数据持久化到dump.rdb文件中 # save 300 100# 配置数据存放目录(现…

Idea安装使用教程~

在本文中,我们将提供关于如何安装 IntelliJ IDEA 的详细步骤。如果您是初学者或只是想尝试一下 IDEA,我们建议您下载 Community 版。如果您需要更多高级功能,可以选择 Ultimate 版。 步骤一:下载 IntelliJ IDEA 首先,…

【SpringCloudAlibaba】Seata分布式事务使用

文章目录 分布式事务问题示例Seata概述、官网一个典型的分布式事务过程处理过程全局GlobalTransactional分布式交易解决方案流程图 Seata安装下载修改conf目录下的application.yml配置文件dashboard demo 分布式事务问题示例 单体应用被拆分成微服务应用,原来的三个…

Springboot+swagger2

1.swagger配置 /*** Swagger 配置文件*/ Configuration public class SwaggerConfig {Beanpublic Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.swagger.two&qu…

Spring Boot @Value读不到Nacos配置中心的值。(properties配置文件)

读不到配置中心的值, 配置中心的配置文件名字(Data ID的值)要以.properties结尾。 如果是yaml,就以yaml命名。

Spring MVC:请求转发与请求重定向

Spring MVC 请求转发请求重定向附 请求转发 转发( forward ),指服务器接收请求后,从一个资源跳转到另一个资源中。请求转发是一次请求,不会改变浏览器的请求地址。 简单示例: 1.通过 String 类型的返回值…

2023年基因编辑行业研究报告

第一章 行业发展概况 1.1 定义 基因编辑(Gene Editing),又称基因组编辑(Genome Editing)或基因组工程(Genome Engineering),是一项精确的科学技术,可以对含有遗传信息的…

常用百宝箱——日志处理

目录 前言 一、logging库 二、logging日志等级 三、logging四大组件 四、封装示例 总结 前言 日志是记录特定时间段或事件的详细信息的文件或记录。它们通过时间戳和关键词或描述符来标识事件或行动。日志可以用于许多目的,例如:故障排除、网络安全…

搭建springcloud注册中心eureka以及admin监控

写该篇文章的目的是为了以后搭建微服务的时候避免踩坑 要求:搭建一个eureka-server注册中心,再构建两个eureka-client注册上去,然后再搭建admin服务注册到注册中心。实现在admin后管页面可观察已注册上去的服务 前提:使用的spri…

Redis 初识与入门

1. 什么是Redis Redis 是一种基于内存的数据库,对数据的读写操作都是在内存中完成,因此读写速度非常快,常用于缓存,消息队列、分布式锁等场景。 Redis 提供了多种数据类型来支持不同的业务场景,比如 String(字符串)、…

关系的定义及表示

关系的定义及表示 1、若集合R是AA的子集&#xff0c;则称R是集合A上的二元关系&#xff0c;简称关系 例&#xff1a;A{1,2}&#xff0c; AA{<1,1>,<1,2>,<2,1>,<2,2>}&#xff0c;AA的任何一个子集都是A上的关系 如&#xff1a; R{<1,1>, &…

java企业数据管理系统

项目介绍 此项目为企业数据管理系统的后端部分&#xff0c;前端部分请参考vue-admin&#xff0c;项目实现了菜单管理、用户管理、角色管理和权限管理四个基础模块&#xff0c;前端菜单管理结合动态路由可自由添加菜单。结合Shiro权限管理实现了菜单和按钮的权限控制。 ❝ 前端…

贝塞尔曲线的一些资料收集

一本免费的在线书籍&#xff0c;供你在非常需要了解如何处理贝塞尔相关的事情。 https://pomax.github.io/bezierinfo/zh-CN/index.html An algorithm to find bounding box of closed bezier curves? - Stack Overflow https://stackoverflow.com/questions/2587751/an-algo…

歌曲推荐《最佳损友》

最佳损友 陈奕迅演唱歌曲 《最佳损友》是陈奕迅演唱的一首粤语歌曲&#xff0c;由黄伟文作词&#xff0c;Eric Kwok&#xff08;郭伟亮&#xff09;作曲。收录于专辑《Life Continues》中&#xff0c;发行于2006年6月15日。 2006年12月26日&#xff0c;该曲获得2006香港新城…

Python之OS模块

os模块负责程序与操作系统的交互&#xff0c;提供了访问操作系统底层的接口;即os模块提供了非常丰富的方法用来处理文件和目录。 使用的时候需要导入该模块:import os

MojoTween:使用「Burst、Jobs、Collections、Mathematics」优化实现的Unity顶级「Tween动画引擎」

MojoTween是一个令人惊叹的Tween动画引擎&#xff0c;针对C#和Unity进行了高度优化&#xff0c;使用了Burst、Jobs、Collections、Mathematics等新技术编码。 MojoTween提供了一套完整的解决方案&#xff0c;将Tween动画应用于Unity Objects的各个方面&#xff0c;并可以通过E…

HCIP学习-IPv6

目录 前置学习内容 IPv6解决的一些IPv4的缺陷 无限的地址 层次化的地址结构 即插即用 简化报文头部 IPv4和IPv6报头比较 端到端的网络罗完整性 安全性增强 挣钱QoS特性 IPv6地址介绍 格式 首选格式 压缩格式 内嵌IPv4地址格式的IPv6地址格式 IPv6的网络前缀和接…

图的学习,深度和广度遍历

一、什么是图 表示“多对多”的关系 包括&#xff1a; 一组顶点&#xff1a;通常用V&#xff08;Vertex&#xff09;表示顶点集合一组边&#xff1a;通常用E&#xff08;Edge&#xff09;表示边的集合 边是顶点对&#xff1a;(v, w)∈E&#xff0c;其中v,w∈V有向边<v, w&…

最新遥感数据与作物模型同化教程

详情点击公众号链接&#xff1a;最新遥感数据与作物模型同化教程一&#xff1a;遥感基础1.遥感平台&#xff08;如无人机&#xff09;与传感器、国内外主要陆地卫星&#xff08;如Landsat、SPOT、HJ、GF&#xff09; 2.遥感基本原理、光谱响应函数、遥感数据处理流程 3.遥感在陆…

多寄存器内存访问指令的寻址方式

多寄存器内存访问 注意使用的是大括号 将R1-R4寄存器中的数据存储到内存以R11为起始地址的内存中 LDM同样适用 当寄存器不连续时&#xff0c;使用逗号分隔 例 STM R11,{R1,R2,R4} 不管寄存器列表中寄存器的顺序如何&#xff0c;存到内存中永远都是小编号的寄存…