当前位置: 首页 > news >正文

性能测试基础知识(三)性能指标

性能测试基础知识(三)性能指标

  • 前言
    • 一、时间特性
      • 1、响应时间
      • 2、并发数
      • 3、吞吐量(TPS)
    • 二、资源特性
      • 1、CPU利用率
      • 2、内存利用率
      • 3、I/O利用率
      • 4、网络带宽使用率
      • 5、网络传输速率(MB/s)
    • 三、实例场景

前言

性能效率,具备时间特性、资源特性两种特性,要评估当前系统性能能力、寻找性能瓶颈,性能调优、预测未来性能,都需要通过性能指标来进行衡量,以下按两个特性介绍常用的性能指标。

一、时间特性

时间特性要求:在指定条件下,产品或系统执行其功能时,其响应时间、处理时间及吞吐率满足需求的程度。

1、响应时间

反应与运行速度相关的性能,指从用户发起一个请求开始到服务器完成对请求的处理并返回处理结果所经历的时间。例如点击【登录】,从点击【登录】到登录完成返回登录成功界面所需要消耗1秒钟,那我们说这个操作的响应时间为1秒。
a)响应时间(单用户)
根据软件产品的特性,依据需求规格说明书的要求,选取数据量较大和用户操作最频繁的测试场景,设计测试用例并利用性能测试工具,测试软件产品在一个用户访问时运行典型任务的响应时间。

b)平均响应时间(多用户)
测试软件产品在一定量用户访问时运行典型任务的响应时间。

c)响应极限时间(最大负载条件)
测试软件产品在最大负载条件下访问时运行典型任务的响应时间。

2、并发数

a)并发用户数
某一物理时刻同时向系统提交请求的用户数

b)在线用户数
某段时间内访问系统的用户数,这些用户数不一定同时向系统提交请求

c)系统用户数
系统注册的总用户数

d)三者关系:系统用户数>在线用户数>并发用户数

3、吞吐量(TPS)

反应单位时间内能处理的事物数目。例如对于一个系统来说我们一个用户登录需要1秒,如果系统同时支持10个用户登录,且响应时间是1秒钟,那么我们的吞吐量是10/秒。也被之为TPS(TransactionrPerScscond)每秒事务数,也就是在单位时间内能够完成的事务数目。

a)吞吐量
根据软件产品的特性,依据需求规格说明书的要求,选取数据量较大和用户操作最频繁的测试场景,设计测试用例并利用性能测试工具,在一个用户访向时,测试软件产品有多少个任务能在给定时间周期内成功执行。

b)平均吞吐量:
在多个用户访问时,在一个设定的单位时间内,测试系统能处理的并发任务的平均数量。

c)极限吞吐量:
测试产品在最大负载条件下系统能处理的最多并发任务数。

二、资源特性

在指定条件下,产品或系统执行其功能时,所使用资源数量和类型满足需求的程度。一般考察服务器、数据库以及中间件的资源利用情况,服务器监控资源包括CPU利用率(%)、可用内存(MB、GB)、磁盘I/O(MB/s)、网络带宽(Mb/s)等指标;数据库监控资源包括数据缓冲区、命中率等。

1、CPU利用率

在执行并发任务时,通过资源监控工具,监控服务器的CPU占用情况,其CPU占用率一般平均不应该超过75%

2、内存利用率

在执行并发任务时,通过资源监控工具,监控服务器的内存占用情况,其内存占用率一般平均不应该超过75%

3、I/O利用率

在执行并发任务时,通过资源监控工具,监控服务器的I/O使用情况

4、网络带宽使用率

在执行并发任务时,通过资源监控工具,监控网络带宽的使用情况

5、网络传输速率(MB/s)

在执行并发任务时,通过资源监控工具,监控网络传输速率

三、实例场景

某系统需要验证当前系统部分场景的性能能力,以交付项目为例,一般会根据需求规格说明书中的性能指标去验证系统性能。
例如:某系统执行登录场景,指标为100个用户并发10分钟,平均响应时间要求≤5s,事务成功率要求≥99%,其他指标需求规格说明书没有说明的话,则按照公司规定的指标标准执行。

还想要更多实战场景?哦豁!
笔者也想要!
慢慢积累吧…
wu~~又是学到的一天!

在这里插入图片描述

相关文章:

性能测试基础知识(三)性能指标

性能测试基础知识(三)性能指标 前言一、时间特性1、响应时间2、并发数3、吞吐量(TPS) 二、资源特性1、CPU利用率2、内存利用率3、I/O利用率4、网络带宽使用率5、网络传输速率(MB/s) 三、实例场景 前言 性能…...

【 Redis】的乱码问题

问题描述: 使用RedisTemplate存储的数据,在 redis-cli 客户端查看时,key 和 value 都会携带类似\xac\xad\这样的字符串。 原因: 由于默认使用了 jdk 的序列化方式。以下是支持的序列化方式 项目一般都会有缓存,常常…...

虚拟机安装的问题

CentOS7报错: Host SMBus Controller not enabled! 1.在上图界面中直接输入root用户的密码登录到系统 2.输入命令,lsmod | grep i2c 3.输入命令,vi /etc/modprobe.d/blacklist.conf 创建黑名单,添加以下内容: blacklist i2c_piix…...

seldom之数据驱动

seldom之数据驱动 如果自动化某个功能,测试数据不一样而操作步骤是一样的,那么就可以使用参数化来节省测试代码。 seldom是我在维护一个Web UI自动化测试框,这里跟大家分享seldom参数化的实现。 GitHub:GitHub - SeldomQA/seld…...

设计模式:生成器模式

这个模式书上讲的比较简单,但是感觉精华应该是讲到了。 引用下其它博客的总结:生成器模式的核心在于分离构建算法和具体的构造实现,从而使得构建算法可以重用。 【设计模式】建造者模式_鼠晓的博客-CSDN博客...

Gradle同步任务一直不动问题(非网络情况)

最近更新ComposeViews的Kotlin和Compose版本,升级到Kotlin1.9和Compose1.4.3时遇见一个问题,Gradle同步时始终会卡在一个位置,同步了一晚上也没用 然后又试了两次还是不行,猜测可能是Gradle的问题,于是使用命令行进行同步,并打印debug日志 ./gradlew -debug -refresh-dependen…...

STM32使用HAL库BH1750光照度传感器

开发环境 单片机:STM32F103C8T6 光照度传感器:BH1750 IDE:KEILSTM32CUBEMX 单片机配置 1、STM32CUBEMX BH1750代码 1、头文件 /* ************************************************* BH1750光照数据计算(LUX) …...

qt代码练习

计时器练习 namespace Ui { class third; }class third : public QWidget {Q_OBJECTpublic:explicit third(QWidget *parent nullptr);~third();QLabel *labth1 new QLabel(this);QTextEdit *txtth1 new QTextEdit("闹钟",this);QLineEdit *leth1 new QLineEdit(t…...

PoseiSwap:首个基于模块化设施构建的订单簿 DEX

在前不久,PoseiSwap 曾以1000万美元的估值,获得了来自于ZebecLabs基金会的150万美元的融资。此后 PoseiSwap 又以2500万美元的估值,从GateLabs、EmurgoVentures、Republic以及CipholioVentures等行业顶级投资机构中,获得了新一轮未…...

Linux NameSpace 虚拟化 资源隔离

NameSpace NameSpace介绍 在操作系统中命名空间命名空间提供的是系统资源的隔离,其中系统资源包括了:进程、网络、文件系统等等 实际上linux系统实现命名空间主要目的之一就是为了实现轻量级虚拟化服务,也就是我们说的容器,在同…...

【Android Framework系列】第9章 AMS之Hook实现登录页跳转

1 前言 前面章节我们学习了【Android Framework系列】第5章 AMS启动流程和【Android Framework系列】第6章 AMS原理之Launcher启动流程,大概了解了AMS的原理及启动流程,这一章节我们通过反射和动态代理对不同Android版本下的AMS进行Hook,实现…...

哪些行业需要连接云专线?

在诸多行业之中,有一些行业对数据安全性要求高、业务需要实时性、业务需求复杂,往往需要建立起私密、高速、安全的传输通道,云专线是他们经常采用的方案。具体来讲,都有哪些行业需要连接云专线呢?请见下方。 1、金融行…...

【Mysql】group语句删除重复数据只保留一条

【Mysql】group语句删除重复数据只保留一条 【一】案例分析 假如在数据初始化的时候,insert脚本执行了两次,导致表里的数据都是重复的(没有设置唯一键)。这个时候再加上mybatis-plus的selectOne方法,就会出现报错。因…...

Git详解和命令大全

目录 一、Git 的基本概念二、Git 的安装和使用三、Git 的版本分支管理四、Git 的命令大全1. 常用命令2. 命令大全 五、版本分支管理的最佳实践六、Git 实践七、高级特性八、Git 的未来发展 Git 是一款开源的分布式版本控制系统,可以有效地处理从小到非常大的项目版本…...

北漂Java程序员入职五个月的收获总结

👨‍💻博主主页:小尘要自信 👨‍💻本文专栏:Java程序员的成长 👨‍💻上一篇文章:告别过去,拥抱未来:一个Java开发者的成长之路 👨‍&a…...

Android系统的进程管理(创建->优先级->回收)

一、进程的创建 1、概述 Android系统以Linux内核为基础,所以对于进程的管理自然离不开Linux本身提供的机制。例如: 通过fork来创建进行通过信号量来管理进程通过proc文件系统来查询和调整进程状态 等 对于Android来说,进程管理的主要内容…...

C#界面美化小技巧

1.窗体设置为无边框 FormBorderStyle的属性设置为none 2.窗体无边框,可以拖拽 private Point mPoint new Point(); private void Download_MouseDown(object sender, MouseEventArgs e) { mPoint.X e.X; mPoint.Y e.Y; …...

‘vite‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

1.切换到工程目录下 2.执行npm install(最关键的一步了!!) 3. 最后直接运行:npm run dev 4.浏览器直接打开就行了!...

Linux下查阅帮助文档必学命令 man

Linux操作系统的使用中,我们经常会遇到很多问题,这个时候查询文档的能力至关重要,黄老师来推荐大家使用man,这时我们必须掌握的查阅能力: 最常用的命令: man 名称 man 数字(1~9) 名称 这里的数字分别代表:...

uniapp scroll-view显示滚动条

在style中添加样式: ::v-deep ::-webkit-scrollbar {/* 滚动条整体样式 */display: block;width: 10rpx !important;height: 10rpx !important;-webkit-appearance: auto !important;background: transparent;overflow: auto !important;}::v-deep ::-webkit-scroll…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由&#xff1a;大部分的转换软件需要收费&#xff0c;要么功能不齐全&#xff0c;而开会员又用不了几次浪费钱&#xff0c;借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

Windows安装Miniconda

一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案

在大数据时代&#xff0c;海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构&#xff0c;在处理大规模数据抓取任务时展现出强大的能力。然而&#xff0c;随着业务规模的不断扩大和数据抓取需求的日益复杂&#xff0c;传统…...

Vue ③-生命周期 || 脚手架

生命周期 思考&#xff1a;什么时候可以发送初始化渲染请求&#xff1f;&#xff08;越早越好&#xff09; 什么时候可以开始操作dom&#xff1f;&#xff08;至少dom得渲染出来&#xff09; Vue生命周期&#xff1a; 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...

使用SSE解决获取状态不一致问题

使用SSE解决获取状态不一致问题 1. 问题描述2. SSE介绍2.1 SSE 的工作原理2.2 SSE 的事件格式规范2.3 SSE与其他技术对比2.4 SSE 的优缺点 3. 实战代码 1. 问题描述 目前做的一个功能是上传多个文件&#xff0c;这个上传文件是整体功能的一部分&#xff0c;文件在上传的过程中…...