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

一、什么是性能测试

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

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

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

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

不同维度的测试指标。

二、系统性能指标

2.1 响应时间

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

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

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

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

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036
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)各项资源指标没有泄露或异常情况。


最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
 

在这里插入图片描述

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

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

相关文章

针对 SAP 的增强现实技术

增强现实技术是对现实世界的一种交互式模拟。这种功能受到各种企业和制造商的欢迎,因为它可以减少生产停机时间、快速发现问题并维护流程,从而提高运营效率。许多安卓应用都在探索增强现实技术。 使用增强现实技术(AR)的Liquid U…

go-GMP和Scheduler

GPM模型 G 待执行的goroutine,结构定义在runtime.g M 操作系统中的线程,它由操作系统的调度器 进行 调度和管理, 结构定义在runtime.m P 处理器,是GM的中间件,它通过一个队列绑定了GM,每个P都有一个局部queue&#x…

深入了解Java中的StringJoiner类

在Java编程中,字符串的拼接是一个常见的操作。Java提供了多种方法来实现字符串拼接,其中之一就是StringJoiner类。本文将详细介绍StringJoiner的用法和功能。 StringJoiner简介 StringJoiner是Java 8引入的一个用于拼接字符串的工具类。它允许我们以指定…

冒泡排序与选择排序(最low的两兄弟)

个人主页:Lei宝啊 愿所有美好如期而遇 前言: 在我们的生活中,无处不在用到排序,比如说成绩的排名,淘宝,京东等等商品在各个方面的排序,这样看来一个好的算 法很重要,接下来我们要先…

解决方案:TSINGSEE青犀+智能分析网关助力智慧仓储智能化监管

为全面保障物流仓储的安全性与完整性,解决仓库管理难题,优化物流仓储方式,提升仓储效率,降低人工成本,旭帆科技推出智慧仓储AI视频智能分析方案,利用物联网、大数据、云计算等技术,对仓储管理进…

【05】FISCOBCOS中的节点配置

官方文档https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/configuration.html 配置黑名单列表 基于防作恶考虑,FISCO BCOS允许节点将不受信任的节点加入到黑名单列表,并拒绝与这些黑名单节点建立连接,通过[certif…

php函数usort使用方法

在 PHP 中,usort() 函数用于对数组进行排序,它允许你使用自定义的比较函数来确定元素的顺序。以下是 usort() 函数的使用方法: usort(array &$array, callable $cmp_function): bool参数说明: $array:要排序的数…

小丑彻底输了,iPhone15首销再现排队抢购现象,销量遥遥领先

iPhone15于今天正式上市销售,多个媒体报道指出苹果的零售门店再次出现排队抢购现象,有人凌晨5点就前往排队了,最昂贵的iPhone15Pro max则出现被黄牛加价1500元出售的现象。 在iPhone15上市销售前,某些人士大肆鼓吹苹果的假5G&…

洛谷刷题入门篇:分支结构

今天又来了,刷题刷题,我爱刷题,题单链接如下: https://www.luogu.com.cn/training/101#problems 一、【深基1-2】小学数学 N 合一 题目如下:https://www.luogu.com.cn/problem/P2433 题目描述 问题 1 请输出 I lov…

基于springboot+vue的毕业生实习与就业管理系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

Python项目Flask ipv6双栈支持改造

一、背景 Flask 是一个微型的(轻量)使用Python 语言开发的 WSGI Web 框架(一组库和模块),基于Werkzeug WSGI工具箱/库和Jinja2 模板引擎,当然,Python的WEB框架还有:Django、Tornado、Webpy,这暂且不提。 Flask使用BSD授权。 Flask也被称为microframework(微框架),F…

Unity的AB包相关

1、打包 在这个界面左边右键,CreateNewBundle 将要打包的模型制作成预设体 在下面勾选 选好平台路径,点击Build 2、加载AB包 public class ABTest : MonoBehaviour {// Start is called before the first frame updatevoid Start(){//加载AB包AssetB…