性能测试 —— 性能测试常见的测试指标 !

2023-09-22 14:33:27

一、什么是性能测试

先看下百度百科对它的定义,性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

  我们可以认为性能测试是:通过在测试环境下对系统或构件的性能进行探测,用以验证在生产环境下系统性能是否达

到预估的性能需求,发现系统可能存在的性能瓶颈,进而改善优化并系统的性能,提高系统的可扩展性、稳定性。

  学习性能测试,或者对测试结果进行分析,都需要熟悉测试指标。接下来从性能测试分析度量的角度,介绍性能测试

不同维度的测试指标。

二、系统性能指标

2.1 响应时间

  响应时间(Response Time),简称RT,是指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回的结果,

整个过程所耗费的时间。不包括前端页面的处理和渲染时间。直观上看,这个指标与人对软件性能的主观感受是非常一致

的,因为它完整地记录了整个计算机系统处理请求的时间。响应时间的绝对值并不能直接反映软件的性能的高低,软件性

能的高低实际上取决于用户对该响应时间的接受程度。

2.2 系统处理能力

  指系统在利用系统硬件平台和软件平台进行信息处理的能力,系统处理能力通过系统每秒钟能够处理的交易数量来评

价,交易有两种理解:

  (1)从业务人员角度进行的一笔业务过程;

  (2)从系统角度的一次交易申请和响应过程。

前者称为业务交易过程,后者称为事务,两种交易指标都可以评价应用系统的处理能力。一般情况下,系统处理能力用以

下几个指标来度量:

  HPS(Hits Per Second):每秒点击次数,单位是次/秒

  TPS(Transaction per Second):系统每秒处理交易数,单位是笔/秒

  QPS(Query per Second):系统每秒处理查询次数,单位是次/秒

  对于互联网业务中,如果某些业务有且仅有一个请求连接,那么TPS=QPS=HPS,一般情况下用TPS来衡量整个业务

流程,用QPS来衡量接口查询次数,用HPS来表示对服务器点击请求。

2.3 吞吐量

  指系统在单位时间内处理请求的数量。对于单用户的系统,响应时间可以很好地度量系统的性能;而对于并发系统,

通常需要用吞吐量作为性能指标。一般而言,吞吐量是一个比较通用的指标,两个具有不同用户数和用户使用模式的系统,

如果其最大吞吐量基本一致,则可以判断两个系统的处理能力基本一致。

2.4 并发用户数

  指在同一时刻内,登录系统并进行业务操作的用户数量。对于长连接系统来说最大并发用户数即是系统的并发接入能力,

而对于短连接系统而言最大并发用户数并不等于系统的并发接入能力短连接系统的并发用户数与系统架构、系统处理能力等

各种情况相关。

  与吞吐量相比,并发用户数是一个更直观但也更笼统的性能指标。实际上,并发用户数是一个非常不准确的指标,因为

用户不同的使用模式会导致不同用户在单位时间发出不同数量的请求。

2.5 错误率

  错误率(Error Rate),是指在一定时间内处理请求时发生的错误或失败的次数与总请求数量之比。错误率通常以百分比形

式表示,例如:99%的成功率或1%的失败率等。这个指标越低代表系统性能越好。

三、资源性能指标

3.1 CPU

  CPU又称为中央处理器,是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心(Control Unit),功能主

要是解释计算机指令以及处理计算机软件中的数据。

  CPU指标主要指的CPU利用率,包括:用户态(user)、系统态(sys)、等待态(wait)、空闲态(idle)。性能测试CPU的评估建

议值:

  (1)CPU利用率要低于业界警戒值范围之内,即小于或者等于75%

  (2)CPU sys%小于或者等于30%

  (3)CPU wait%小于或者等于5%

3.2 内存

  内存是与CPU进行沟通的桥梁,计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。

现在的操作系统为了最大利用内存,在内存中存放了缓存,因此内存利用率100%并不代表内存有瓶颈。衡量系统内存是否

有瓶颈主要靠SWAP(与虚拟内存交换)交换空间利用率,一般情况下,SWAP交换空间利用率要低于70%,太多的交换将会

引起系统性能低下。

3.3 磁盘吞吐量

  磁盘吞吐量简称为Disk Throughput,是指在无磁盘故障的情况下单位时间内通过磁盘的数据量。分析指标主要有每秒

读写多少兆、磁盘繁忙率、磁盘队列数、平均服务时间、平均等待时间、空间利用率等等。其中磁盘繁忙率是直接反映磁

盘是否有瓶颈的的重要依据,一般情况下,磁盘繁忙率要低于70%。

3.4 网络吞吐量

  网络吞吐量简称为Network Throughput,是指在无网络故障的情况下单位时间内通过的网络的数据数量,单位为Byte/s。

网络吞吐量指标用于衡量系统对于网络设备或链路传输能力的需求。当网络吞吐量指标接近网络设备或链路最大传输能力时,

则需要考虑升级网络设备。网络吞吐量指标主要有每秒有多少兆流量进出,一般情况下不能超过设备或链路最大传输能力的70%。

四、中间件指标

常用的中间件例如Tomcat、Weblogic等指标主要包括JVM、ThreadPool和JDBC,具体如下:

一级指标二级指标单位释义
GCGC频率每秒多少次java虚拟机垃圾部分回收频率
GCFull GC频率每小时多少次java虚拟机垃圾完全回收频率
GCFull GC平均时长用于垃圾完全回收的平均时长
GCFull GC最大时长用于垃圾完全回收的最大时长
GC堆使用率百分比堆使用率
ThreadPoolActive Thread Count活动的线程数
ThreadPoolPending User Request处于排队的用户请求个数
JDBCJDBC Active ConnectionJDBC活动连接数

各项指标参考标准:

    (1)当前正在运行的线程数不能超过设定的最大值

    系统性能较好的情况下,线程数最小值设置50和最大值设置200比较合适。

    (2)当前运行的JDBC连接数不能超过设定的最大值

    系统性能较好的情况下,JDBC最小值设置50和最大值设置200比较合适。

    (3)GC频率不能频繁,特别是FULL GC更不能频繁 

    系统性能较好的情况下,JVM最小堆大小和最大堆大小分别设置1024M比较合适。

五、数据库指标

常用的数据库指标主要包括SQL、吞吐量、缓存命中率、连接数等等,具体如下:

一级指标二级指标单位释义
SQL耗时微秒执行SQL耗时
吞吐量QPS每秒查询次数
吞吐量每秒查询次数每秒事务次数
命中率Key Buffer命中率百分比索引缓冲区命中率
命中率InnoDB Buffer命中率百分比InnoDB缓冲区命中率
命中率Query Cache命中率百分比查询缓存命中率
命中率Table Cache命中率百分比表缓存命中率数
命中率Thread Cache命中率百分比线程缓存命中率
等待次数锁等待次数
等待时间微秒锁等待时间

  参考标准:

  (1)SQL耗时越小越好,一般情况下微秒级别;

  (2)命中率越高越好,一般情况下不能低于95%;

  (3)锁等待次数越低越好,等待时间越短越好。

六、稳定性指标

  这里的稳定性是指最短稳定时间,即系统按照最大容量的80%或标准压力(系统的预期日常压力)情况下运行,能够

稳定运行的最短时间。

  一般来说,对于正常工作日(8小时)运行的系统,至少应该能保证系统稳定运行8小时以上;对于7*24运行的系统,

至少应该能够保证系统稳定运行24小时以上。如果系统不能稳定的运行,上线后,随着业务量的增长和长时间运行,将

会出现性能下降甚至崩溃的风险。

  参考标准:

  (1)TPS曲线稳定,没有大幅度的波动;

  (2)各项资源指标没有泄露或异常情况。


最后: 可以在我的VX公众号:【自动化测试老司机】免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

今天的分享就到此结束了,大家还有什么不懂的可以评论区下提问哈,如果我的文章对你有所帮助的话,可以点赞三联支持一下哈 

更多推荐

kruskal重构树

Kruskal重构树第二次学了。大致思路就是在最小生成树加边的时候,把每条边也设一个点,和他连着的两个点连边。由于最小生成树的贪心,感觉很像哈夫曼树,有性质是经过的边的长度(已经转化为点权)越向上越大/越小,取决于生成树的排序。那就可以通过倍增找不经过长度超过x的边所能走到的所有点,实际上是一直往上跳的那个子树。for

红海云签约科百特,“膜界”小巨人人力资源数字化转型全面提速

杭州科百特过滤器材有限公司(以下简称“科百特”)是全球优秀的创新过滤企业,专注于纳米膜材料的开发和应用,致力于为全球集成电路制造和生物制药产业提供创新的过滤纯化解决方案。近日,科百特与广州红海云计算股份有限公司达成战略合作。红海云作为一家技术驱动的专业型厂商,基于深厚的人力资源管理专业积累和前沿的数字技术,成功打造了众

Linux CentOS7系统运行级别

运行级别就是Linux操作系统当前正在运行的功能级别。在早期系统设置中,共设有七个运行级别,编号从0到6。系统可以引导到任何给定的运行级别。每个运行级别指定不同的系统配置,并允许访问不同的进程组合。默认情况下,Linux会引导至运行级别3或运行级别5。启动时一次只执行一个运行级别,它不会一个接一个地执行。在SysVin

Buffer Pool

一.BufferPool的含义BufferPool:缓冲池,简称BP,其作用是用来缓存表数据与索引数据,减少磁盘IO操作,提升效率。当Mysql执行查询的sql语句的时候,会先去缓存当中看是否有对应的数据,如果有则直接读内存,如果没有则去磁盘里拿,然后把数据放到BufferPool里拿,来提高查询速度。BufferPo

Unity减少发布打包文件的体积——获取精灵图片的信息限制它的大小

一、起因一个工程,打包成webGL且压缩成zip文件后,接近400M,后来把大的精灵图片设置最大尺寸,降低大小后,再次发布,zip文件缩减到250M二、如何一键获得工程里面的精灵图片信息三、获取精灵图片信息1、查找项目中的所有精灵图片//查找工程文件中的所有精灵图片string[]guids=AssetDatabase

2023年中秋·国庆节放假通知

放假期间如有业务、技术及其他相关需求,欢迎新老客户前来咨询!放假期间如给您带来不便敬请谅解!注意事项1、放假离开公司前须全面清扫所属办公区域的卫生,收拾好桌面、保管好个人办公物品;2、关闭个人电脑等办公设备的电源,切断用电设备的插座电源开关,锁好门窗防雨,做好防火防盗工作;3、节日期间重点安全部门,如仓库,要加强对仓库

【计算机网络】网络编程接口 Socket API 解读(5)

Socket是网络协议栈暴露给编程人员的API,相比复杂的计算机网络协议,API对关键操作和配置数据进行了抽象,简化了程序编程。本文讲述的socket内容源自Linuxman。本文主要对各API进行详细介绍,从而更好的理解socket编程。connectconnect()遵循POSIX.1-20081.库标准c库,li

IP归属地应用的几个主要特点

作为一款优秀的IP地址定位工具,主题IP归属地的应用无疑是最好的选择之一。该应用可以将您需要查询的IP地址快速定位到所在的具体物理位置,并提供详细的地址和地图信息。接下来,让我们一起来看一看IP归属地应用的几个主要特点:1.快速查询IP地址归属地主题IP归属地应用的查询速度非常快,您只需要输入需要查询的IP地址点击“查

微软宣布推广数字助理 Copilot;GPT 应用开发和思考

🦉AI新闻🚀微软宣布推广基于生成式人工智能的数字助理Copilot摘要:微软宣布将基于生成式人工智能的数字助理Copilot推广到更多软件产品中。新的AI助理MicrosoftCopilot将在Windows中无缝可用,包括Windows11桌面、Microsoft365、Outlook、Edge浏览器和必应。它能

【Linux网络编程】序列化与反序列化

我们网络收发数据实际上只能接收到字符串,但是在现实生活中描述一个客观物体都是以很多属性来描述的,所以在网络中结构体类型的数据更常见,那我们如何发送结构体数据呢?这里就涉及到协议的概念了。我们想象一个场景,在特种兵执行任务时,他们有特定的战术手语,这样他们就能根据手语进行相应的战术配合了。所以协议也是一样,客户端和服务器

【计算机网络】IP协议

文章目录TCP与IP之间的关系IP地址的认识协议报头格式1.报头和有效载荷如何分离?2.8位协议3.4位版本4.8位服务类型5.16位总长度6.8位生存时间TTL网段划分IP地址的划分子网划分CIDR的提出如何理解CIDRTCP与IP之间的关系如:假设你上高中时,班里有个同学叫张三,他的老爹是学校的校长你感觉每次考试都

热文推荐