性能测试度量指标

2023-10-27

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-前端指标

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

性能测试度量指标 的相关文章

  • 从功能测试转型测试开发,薪资涨了20K,1000字讲述转型必经之路...

    身处职场之中 犹如逆水行舟不进则退 想要不被后浪拍死在沙滩上 就要不断学习新知识 接受新事物 要得到更好的发展 就要紧跟发展趋势 不断转型才能保持竞争力 在职场中占有一席之地 转型不是一件容易的事 涉及到转型 革新 就要突破现有的框架 必然
  • 性能测试调优应该注意哪些要点,一般性能测试调优的步骤-Alltesting

    性能测试调优应该注意的要点 要点1 在应用系统的设计开发过程中 应始终把性能放在考虑的范围内 要点2 确定清晰明确的性能目标是关键 要点3 必须保证调优后的程序运行正确 要点4 系统的性能更大程度上取决于良好的设计 调优技巧只是一个辅助手段
  • 资深测试老鸟整理,性能测试-常见调优详细,卷起来...

    目录 导读 前言 一 Python编程入门到精通 二 接口自动化项目实战 三 Web自动化项目实战 四 App自动化项目实战 五 一线大厂简历 六 测试开发DevOps体系 七 常用自动化测试工具 八 JMeter性能测试 九 总结 尾部小
  • DCDC常见问题之输出带载问题

    DCDC常见问题之输出带载问题 DCDC在目前的电子产品中使用越来越常见 但是出来的问题也越来越多 下面我们将介绍DCDC输出常见的问题 该问题是一个系列 今天我们介绍的是DCDC设计时 空载下一切正常 但是带载时 输出电压出现波动等各种问
  • 性能监控-influxDB+grafana+jmeter展示测试结果

    InfluxDB 是 Go 语言编写的时间序列数据库 用于处理海量写入与负载查询 涉及大量时间戳数据的任何用例 包括 DevOps 监控 应用程序指标等 我认为 InfluxDB 最大的特点在于可以按照时间序列面对海量数据时候的高性能读写能
  • 超详细!Jmeter性能测试(一)

    Jmeter 性能测试 一 首先开发会给你一个接口文档 我们这边是做支付方面的 所以我们要求给下单支付接口做下压测 由于我们这边接口都是有加密参数的 所以都是直接在JAVA工程包里直接跑的 因为这次是做压测 所以我们要用上Jmeter这个工
  • 性能测试连载 (10)-数据错误率分析

    概述 性能测试脚本跑完了之后 我们除了要收集瓶颈数据 还有分析错误数据 通常一套脚本跑完 错误类型不止一种 但是jmeter只会在聚合报告里面给出一个总体的错误率 错误率 jmeter里的错误率是如何统计的 在返回的数据里面 只要succe
  • Locust压力测试使用总结

    上次做接口压力测试前一直研究使用jmeter 本以为可以拿来使用了 但是真正进行并发接口时 发现jmeter在单机下并发1000个时 台式电脑单机资源早就被使用完 整个jmeter卡得死死的 结果那晚使用jmeter并发失败 幸好之前也准备
  • 性能测试系列(二)

    性能测试之性能分析命令 1 CPU分析 a cpu基本信息 命令 lscpu Cpu架构 64 位 Cpu 核心数 6 NUMA UMA节点数为 2个 显示值加 1 Cpu的核心频率 说明此服务器为虚拟机 此服务器的 cpu使用的是 使用的
  • 7年经验之谈 —— Web测试是什么,有何特点?

    Web测试是指对Web应用程序进行验证和评估的过程 以确保其功能 性能和安全性符合预期 Web测试具体包括以下几个方面的内容 功能测试 验证Web应用程序是否按照需求规格说明书中定义的功能正常工作 功能测试包括输入验证 表单提交 页面导航
  • 性能测试场景设计之负载场景

    负载场景 文章目录 负载场景 一 什么是负载测试 二 负载测试场景设计 1 阶梯式加压 插件 jpgc Standard Set 结果 2 第二张阶梯式 Concurrency Thread Group 结果 分析 提示 以下是本篇文章正文
  • Linux统计物理cpu、逻辑cpu

    物理cpu个数 grep physical id proc cpuinfo sort uniq wc l 每个物理cpu的核心个数 grep cpu cores proc cpuinfo uniq awk F print 2 每个物理cpu
  • Keystone 高可靠性部署与性能测试

    Goal Keystone Region 为跨地域的 Openstack 集群提供了统一的认证和用户租户管理 目前公司在国内外部署了数十套 Openstack 集群 其中既有集群在内网 又有集群在公网 既有 Havana 集群 也有 Ice
  • Jmeter实现对mysql的增、删、改、查

    1 创建一个存储过程 语句如下 DELIMITER DROP PROCEDURE IF EXISTS test create PROCEDURE test BEGIN SELECT FROM cource INSERT INTO courc
  • 【Monkey测试】手机app测试性能测试,Monkey测试详解(全)

    目录 导读 前言 一 Monkey工具 二 Monkey的优劣 三 Monkey 命令 四 Monkey结果分析 五 Monkey详细 六 Monkey用来做什么 七 Monkey程序介绍 八 Monkey命令基本参数 九 Event pe
  • 3. 性能测试之目标评估

    文章目录 前言 一 模型1 根据日活计算目标QPS 1 原则 2 事例 二 模型2 根据压测数据评估最大支撑并发 1 原则 2 事例 3 备注 三 模型3 根据压测数据评估服务器资源 1 策略 2 备注 四 模型4 评估用户并发或峰值并发
  • [性能测试]LR常见问题整理

    1 LR 脚本为空的解决方法 1 去掉ie设置中的第三方支持取消掉 2 在系统属性 高级 性能 数据执行保护中 添加loadrunner安装目录中的vugen exe文件 有可能是由于录制的URL地址采用的是localhost的问题 改成分
  • loadrunner负载生成器;

    负载生成器 Load Generators 是脚本生成的负载引擎 相当于加压机 主要功能是生成虚拟用户进行负载 在默认的情况下使用本地的负载生成器来运行脚本 但是每生成一个虚拟用户 需要话费负载生成器大约2M 3M的内存空间 通常运行CON
  • 性能测试入门——完整的测试流程

    性能测试一般的压测流程 需求收集 测试准备 测试执行 结果分析与调优 测试报告与总结 1 1 需求收集 性能测试需求一般在项目需求阶段就可以收集 测试人员进入项目应尽快开展此项活动 1 性能需求的来源 需求文档 问卷调查 历史数据统计分析等
  • Jmeter 课程笔记(五)集合点、思考时间和三种断言

    添加集合点 Http请求 右键 定时器 Synchronizing Timer Numberb of Simulated Users to Group by 并发用户数量 默认为0则与线程组的线程数一致 Timeout inmillisec

随机推荐

  • Mac下IDEA常用操作整理

    目录 1 完美卸载 2 常用插件 3 一些简便的常规设置 1 更改字体大小通过ctrl 鼠标滚轮 2 代码提示不区分大小写 3 修改字体 4 修改控制台输出字体 5 设置文件编码 6 自动导包 优化导包 7 设置自动编译 8 显示行号和方法
  • 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表

    基本思路 想要合并多个升序的链表 前提是需要会合并两个升序排列的链表 具体的方法在之前的博文中有提及合并两个有序的链表 大概的思路和合并两个有序数组基本相同 就是在链表的最开始确定两个指针 根据指针来确定哪个链表的元素更小一点 将小的哪个链
  • Java的基础:双层循环

    所谓双层 双层 循环 就是在循环内部嵌套循环 特点 1 外层循环控制行 换行 内层循环控制列 内容输出 2 外层循环更新一次 内层循环更新一轮 语法 for 变量 i 循环条件 跟新变量 外层循环 循环操作1 for 变量 j 循环条件 跟
  • 学成在线笔记+踩坑(8)——课程预览、提交审核,Freemarker模板引擎

    导航 黑马Java笔记 踩坑汇总 JavaSE JavaWeb SSM SpringBoot 瑞吉外卖 SpringCloud 黑马旅游 谷粒商城 学成在线 牛客面试题 java黑马笔记 目录 1 模块需求分析 1 1 模块介绍 1 2 业
  • linux下使用crontab定时器,并且设置定时不执行的情况,附:项目启动遇到的一些问题和命令

    打开终端 以root用户身份登录 运行以下命令打开cron任务编辑器 crontab e 如果首次编辑cron任务 会提示选择编辑器 选择你熟悉的编辑器 比如nano或vi 并打开相应的配置文件 在编辑器中 添加一行类似以下的命令来设置定时
  • 软测入门(一)测试理念及基础知识

    软测入门理念 软件的分类 按层次划分 系统软件 应用软件 按组织划分 商业软件 开源软件 按结构划分 单机软件 软件缺陷 由来 Grace Hopper发明Cobol计算机语言 也是找出电脑程序中第一个bug的女程序员 Bug Defect
  • 上传源码到GitHub代码托管平台方法和步骤

    上传源码到GitHub的方法步骤 要在本地上传代码到GitHub第一步就是先在本地有git版本控制软件 或者你的IDE集成了git 否则一切都是徒劳 1 先下载git 地址 https git scm com downloads 2 安装G
  • 【漏洞复现】CVE-2021-45232 Apache-apisix-dashboard

    靶场搭建 修改版本号 启动环境 查看端口号为9090 用主机登录ip 9000 默认用户名 admin 默认密码 admin 点击 路由 进入路由页面 打开POC所在文件夹 cmd执行 刷新路由页面 查看路由配置 成功注入恶意 script
  • Oracle各种进程功能一览表

    在安装Oracle数据库的时候 我检查进程 发现了以下进程 功能如下 Ora pmon 是进程监视器 Process Monitor 的缩写 当取消当前的事务 或者释放进程占用的锁以及其它资源的时候 这个进程清空那些失败的进程 Ora vk
  • 谷歌Chrome小恐龙代码(自动跳,高跳,无敌,加速)

    目录 自动跳代码 无敌代码 高跳代码 可以改括号内参数 疾跑代码 可以改括号内参数 大多数浏览器都有自己的彩蛋 而今天我们分享的是谷歌Chrome 谷歌小恐龙游戏是一个浏览器自带的小游戏 断网联网状态都是可以玩的 那么如何在联网的状态下进行
  • Flask 增删改查

    基本操作 目录 基本操作 添加 查看数据 分页 详情 删除 修改 路由配置 创建模型类models from app extensions import db class Books db Model tablename tb books
  • Feign远程调用丢失请求头问题

    在业务中 需要使用A B两个模块 这些模块使用了SpringSession共享Session数据 在B模块中的业务需要用户登录后才能操作 当A调用B的业务时 在B模块中获取不到用户的Session信息 导致B模块判定该请求用户没有登录导致A
  • java基础错题总结

    1 解析 首先乘法的优先级高于加法 所以先进行y z 然后在这里 是连接符 因为头一个是字符串所以系统就认为是连接符 就成 10202 0 输出这个字符串 但如果第一个不是字符串类型的 就像 10 20 a 这个会输出 30 a 2 解析
  • gis中的加权求和工具在哪里_因果推理初探(5)——干预工具(上)

    本节将延续上一节学习的干预的有关概念 开始深入介绍几种干预的工具 后门调整 前门调整 逆概率加权等 本节将有大量公式来袭 请准备草稿纸或提前绕道 在上一节最后 我们推导出有关干预的重要公式 调整公式 它的形式如下 这个公式让我们可以通过观测
  • 为什么使用代理后不能上网了?

    在使用完代理服务器之后 有的用户可能会遇到这样的问题 明明网络正常 为什么我的浏览器不能打开网页了 今天就给大家说下具体解决方法 这里我们以IE浏览器为例 1 先打开浏览器 点击右上角的 工具 图标 然后点击下拉中的 Internet选项
  • elasticsearch中文分词器插件elasticsearch-analysis-ik远程自定义词典热更新

    IK简介 IK分词器基于词库进行分词 analysis ik内置了一些词典 主词典main dic 姓氏词典surname dic 量词词典quantifier dic 后缀词典suffix dic 介词词典preposition dic
  • vue项目创建

    默认3 默认2 自定义配置 js语法编辑器 ts 渐进式web应用程序 路由 状态管理器 css处理器 代码检查 单元测试 端对端测试 选择版本 路由是否选择历史模式 选择css预处理器 配置放在哪里 保存这个项目作为一个模版使用 npm
  • 【网络】Linux网络问题汇总(一)

    网卡设置了静态获取 仍然获取动态IP的解决方法 问题展示 网卡配置静态方式获取 仍然通过dhcp获取到了ip 且每次分配的ip都一样 root senlian cat etc sysconfig network scripts ifcfg
  • OAUTH之 钉钉第三方授权登录

    文章目录 OAUTH之钉钉第三方授权登录 前期用到的工具 获取access token 请求地址 请求方法 响应 扫码 使用账号密码 获取 临时 code 参数重要说明 直接访问 扫码登录 使用账号密码登录第三方网站 根据 sns 临时授权
  • 性能测试度量指标

    1 响应时间 响应时间指从用户或事务在客户端发起一个请求开始 到客户端接收到从服务器端返回的响应结束 这整个过程所消耗的时间 在性能测试实践中 为了使响应时间更具代表性 响应时间通常是指事务的平均响应时间ART 在实践中要注意 不同行业 不