性能测试度量指标

news2025/1/11 21:21:09

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.coloradmin.cn/o/1004994.html

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

相关文章

力扣刷题-移除指定值的链表元素

力扣203移除元素 题目来源: 力扣203 题目描述: 非常简单的一道题,主要强调两点 链表删除要记录删除位置的前驱节点 头节点没有前驱 因此直接headhead.next为了保持与后两种一致,加上虚拟节点,下一节点指向头节点 /***…

Java 复习笔记 -学生管理系统进阶篇

文章目录 学生管理系统进阶版一,需求部分(一)需求(二)分析1,登录界面2,用户类3,注册功能4,登录功能5,忘记密码6,验证码规则 二,实现部…

【具身智能】RT-2:视觉-语言-动作模型(VLA)

文章目录 前言一、视觉-语言-动作(VLA)模型二、利用 VLM 控制机器人三、实验四、 Demo五、总结前言 Robotic Transformer 2(RT-2)是由谷歌 DeepMind 新推出的大语言模型,它为人类提供了通过纯语言命令来优化机器人控制的能力。与此前的大模型不同,RT-2是一种新型的视觉-…

使用C语言EasyX 创建动态爱心背景

简介 在计算机图形学的世界中,有很多方法可以使程序的界面更加吸引人。在本篇博客中,我将向大家介绍如何使用 EasyX 图形库在 C 中创建一个动态的爱心背景。这不仅是一个简单的动画效果,它还包括背景的星星、旋转的心形以及一个美观的背景渐…

Scrapy爬虫框架实战

Python实现爬虫是很容易的,一般来说就是获取目标网站的页面,对目标页面的分析、解析、识别,提取有用的信息,然后该入库的入库,该下载的下载。以前写过一篇文章《Python爬虫获取电子书资源实战》,以一个电子…

Vite+React+Electron开发入门,10分钟搭建本地环境并打包

前言 想使用vite和react开发跨平台桌面的软件方案有electron和tauri两种,但是我个人更喜欢tauri,无奈electron名声大燥,面试要求里很多都写着:electron...可见这类公司多么落后。但是呢,又秉持着存在即合理的理念&…

Android 12 源码分析 —— 应用层 五(SystemUI的StatusBar类的启动过程和三个窗口的创建)

Android 12 源码分析 —— 应用层 五(SystemUI的StatusBar类的启动过程和三个窗口的创建) 在前面的文章中,我们介绍了SystemUI App的基本布局和基本概念。接下来,我们进入SystemUI应用的各个UI是如何被加入屏幕的。那么我们就先从…

计算机视觉实战项目(图像分类+目标检测+目标跟踪+姿态识别+车道线识别+车牌识别)

图像分类 教程博客_传送门链接:链接 在本教程中,您将学习如何使用迁移学习训练卷积神经网络以进行图像分类。您可以在 cs231n 上阅读有关迁移学习的更多信息。 本文主要目的是教会你如何自己搭建分类模型,耐心看完,相信会有很大收获。废话不…

Linux——Shell脚本编程(1)

一、为什么要学习 Shell 编程 ? 1)Linux运维工程师在进行服务器集群管理时,需要编写Shell程序来进行服务器管理。 2)对于 JavaEE 和 Python 程序员来说,工作的需要,要求你编写一些 Shell脚本进行程序或者是服务器的维护&#xff…

【Linux学习笔记】基础命令2

1. rmdir指令 && rm指令1.1. 基础概念1.2. 命令用法1.2.1. rmdir命令1.2.2. rm命令1.2.3. rm命令的注意事项 2. man命令3. cp指令3.1. cp指令基础概念3.2. cp命令的用法 4. mv命令5. cat命令6. more命令 && less命令6.1. more命令6.2. less命令 7. head命令和t…

C#下使用IronPython来实现热更新

问题 之前我们学习过Roslyn,他可以动态编译代码并运行,然后通过ALC加载即插即用,但是遇到一些问题感觉无法解决,我编写一个类A在ALC中,另外一个类B要实例化这个A,我想让他们都能灵活卸载,但是如…

MySQL与ES数据同步的四种方案及实践演示

文章目录 一、同步双写优点缺点双写失败风险项目演示 二、异步双写(MQ方式)优点缺点项目演示 三、基于Datax同步核心组件架构图支持的数据源及操作项目演示 四、基于Binlog实时同步实现原理优点缺点项目演示 一、同步双写 也就是同步调用,这…

IPIDEA动态代理IP更适合于哪些业务场景?为什么动态代理IP更经济实惠?

动态代理IP是一种非常有用的工具,在许多业务场景中发挥重要作用。动态代理IP可以帮助用户提高网络速度和稳定性,提高工作效率,对于需要进行跨境业务的企业和个人来说尤为重要。 让我们先来看看动态代理IP更适合于哪些业务场景。 1.数据采集…

StraUML的详细使用步骤

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于JRebel & XRebel的相关操作吧 下载和安装:首先,你需要从StarUML的官方网站或适用于你操作系统的应用商店下载并安装StarUML软件Sta…

人工智能:神经细胞模型到神经网络模型

人工智能领域中的重要流派之一是:从神经细胞模型(Neural Cell Model)到神经网络模型(Neural Network Model)。 一、神经细胞模型 第一个人工神经细胞模型是“MP”模型,它是由麦卡洛克、匹茨合作&#xff0…

基于spingboot的websocket订阅、广播、多人聊天室示例

概述 基于spingboot的websocket多人聊天系统。包括订阅,广播、点对点单人聊天,多人聊天室功能。 详细 一、运行效果 简单示例 广播 单人聊天 多人聊天室 二、相关代码 websocket配置 package com.iamgpj.demowebsocket.config;import com.iamgpj.d…

更大的数据库,更多的分析内容!凌恩明星产品鱼类eDNA产品再次大升级!!

喜大普奔,凌恩生物明星产品鱼类eDNA产品再次大升级!自建鱼类数据库,本次升级获得了更大的数据库,更全面的物种分类,更多的分析内容,鱼类物种检测更加精准!! eDNA宏条形码技术在鱼类…

移植FlashDB、SFUD到STM32f407

个人上篇文章 搭建STM32F407的SPI-Flash(基于STM32CubeMX)_小刚学長的博客-CSDN博客 主要是解决STM32CubeMX这边的配置,对code端侧是简单介绍了下 实际项目上一般都是拿片外flash存储一些东西,比如一些比较多的配置、参数&…

stu01-IDEA怎么创建一个HTML项目

1.打开idea,依次点击file→new→project 2.点击Java,选择你的jdk,没有下载的点击“Download JDK”/已经下载有JDK但在这里没显示的→点击“Add JDK”,选择你安装的JDK的路径,然后next 3.next 4.起好名字,我…

Python之OS模块

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