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

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

  • 前言
    • 一、时间特性
      • 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~~又是学到的一天!

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

面试总结(三)

1.进程和线程的区别 根本区别:进程是操作系统分配资源的最小单位;线程是CPU调度的最小单位所属关系:一个进程包含了多个线程,至少拥有一个主线程;线程所属于进程开销不同:进程的创建,销毁&…

LViT:语言与视觉Transformer在医学图像分割

论文链接:https://arxiv.org/abs/2206.14718 代码链接:GitHub - HUANGLIZI/LViT: This repo is the official implementation of "LViT: Language meets Vision Transformer in Medical Image Segmentation" (IEEE Transactions on Medical I…

华为数通HCIP-IGMP(网络组管理协议)

IGMP(网络组管理协议) 作用:维护、管理最后一跳路由器以及组播接收者之间的关系; 应用:最后一跳路由器以及组播接收者之间; 原理:当组播接收者需要接收某个组别的流量时,会向最后…

SpringCloud Gateway 在微服务架构下的最佳实践

作者:徐靖峰(岛风) 前言 本文整理自云原生技术实践营广州站 Meetup 的分享,其中的经验来自于我们团队开发的阿里云 CSB 2.0 这款产品,其基于开源 SpringCloud Gateway 开发,在完全兼容开源用法的前提下&a…

数据结构-链表

🗡CSDN主页:d1ff1cult.🗡 🗡代码云仓库:d1ff1cult.🗡 🗡文章栏目:数据结构专栏🗡 目录 目录 代码总览: 接口slist.h: slist.c: 1.什么是链表 1.1链…

消息触达平台 - 基础理论

目录 消息触达平台 背景 业务流程 触达配置 服务处理 表现展示 效果统计 触达信息结构 对象 内容 渠道 场景 机制 消息触达平台 背景 在产品生命周期的不同阶段,用户触达体系可以用来对不同用户群体进行定制化运营。结合咱们的日常场景,公司的运营同学或…

【前端知识】React 基础巩固(四十一)——手动路由跳转、参数传递及路由配置

React 基础巩固(四十一)——手动路由跳转、参数传递及路由配置 一、实现手动跳转路由 利用 useNavigate 封装一个 withRouter(hoc/with_router.js) import { useNavigate } from "react-router-dom"; // 封装一个高阶组件 function withRou…

vue + element UI Table 表格 利用插槽是 最后一行 操作 的边框线 不显示

在屏幕比例100%时 el-table添加border属性 使用作用域插槽 会不显示某侧的边框线,屏幕比例缩小或放大都展示 // 修复列的 边框线消失的bug thead th:not(.is-hidden):last-child {right:-1px;// 或者//border-left: 1px solid #ebeef5; } .el-table__row{td:not(.i…

常用的CSS渐变样式

边框渐变 方案1: 边框渐变( 支持圆角) width: 726px;height: 144px;border-radius: 24px;border: 5px solid transparent;background-clip: padding-box, border-box; background-origin: padding-box, border-box; background-image: linear-gradient(to right, #f…

RabbitMQ 教程 | 第4章 RabbitMQ 进阶

👨🏻‍💻 热爱摄影的程序员 👨🏻‍🎨 喜欢编码的设计师 🧕🏻 擅长设计的剪辑师 🧑🏻‍🏫 一位高冷无情的编码爱好者 大家好,我是 DevO…

基于多线程实现服务器并发

看大丙老师的B站视频总结的笔记19-基于多线程实现服务器并发分析_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1F64y1U7A2/?p19&spm_id_frompageDriver&vd_sourcea934d7fc6f47698a29dac90a922ba5a3 思路:首先accept是有一个线程的,另外…

【C++】 哈希

一、哈希的概念及其性质 1.哈希概念 在顺序结构以及平衡树中,元素关键码与其存储位置之间没有对应的关系,因此在查找一个元素时,必须要经过关键码的多次比较。比如顺序表需要从第一个元素依次向后进行查找,顺序查找时间复杂度为…

从零开始学Docker(二):启动第一个Docker容器

宿主机环境:RockyLinux 9 这个章节不小心搞成命令学习了,后面在整理成原理吧 Docker生命周期 拉取并启动Nginx容器 # 查找镜像 例如:nginx [root192 ~]# docker search nginx 我们可以看到,第一个时官方认证构建的nginx # 拉…

Java源码规则引擎:jvs-rules决策流的自定义权限控制

规则引擎用于管理和执行业务规则。它提供了一个中央化的机制来定义、管理和执行业务规则,以便根据特定条件自动化决策和行为。规则引擎的核心概念是规则。规则由条件和动作组成。条件定义了规则适用的特定情况或规则触发的条件,而动作定义了规则满足时要…

深度学习之用PyTorch实现线性回归

代码 # 调用库 import torch# 数据准备 x_data torch.Tensor([[1.0], [2.0], [3.0]]) # 训练集输入值 y_data torch.Tensor([[2.0], [4.0], [6.0]]) # 训练集输出值# 定义线性回归模型 class LinearModel(torch.nn.Module):def __init__(self):super(LinearModel, self)._…

时间复杂度为O(nlogn)的两种排序算法

1.归并排序 归并排序的核心思想:如果要排序一个数组,我们先把数组从中间分成前后两部分,然后对前后两部分分别排序,再将排好序的两部分合并在一起,这样整个数组就都有序了。 归并排序使用的就是分治思想。分治&#x…

用Delphi编写一个通用视频转换工具,让视频格式转换变得更简单

用Delphi编写的简单视频格式转换程序,它使用TComboBox、TOpenDialog和TSaveDialog组件来选择转换格式、选择源视频文件和选择目标视频文件。程序还使用TEdit组件允许用户输入参数,然后将这些组件中的信息拼接成转换命令并在DOS窗口中运行它。 procedure…

JavaEE——SpringMVC中的常用注解

目录 1、RestController (1)、Controller (2)、ResponseBody 2、RequestMappping (1)、定义 (2)、使用 【1】、修饰方法 【2】、修饰类 【3】、指定方法类型 【4】、简化版…

基于内核链表和JSON的MQTT的使用

一、内核链表 1.回顾单链表的插入和遍历 假设学生结构体信息如下&#xff0c;封装一个单链表的插入接口和遍历输出的接口&#xff0c;在主函数中利用封装的接口生成一个学生链表&#xff0c;并遍历输出链表的学生信息。 #include <stdio.h> #include <string.h>…