13年资深测试,性能测试常见指标分析总结,看这篇就够了...

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

1、什么是性能测试

先看下百度百科对它的定义

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

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

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

2、系统性能指标

1)响应时间

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

整个过程所耗费的时间。不包括前端页面的处理和渲染时间。直观上看,这个指标与人对软件性能的主观感受是非常一致的,因为它完整地记录了整个计算机系统处理请求的时间。

响应时间的绝对值并不能直接反映软件的性能的高低,软件性能的高低实际上取决于用户对该响应时间的接受程度。

2)系统处理能力

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

从业务人员角度进行的一笔业务过程;
从系统角度的一次交易申请和响应过程。

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

HPS(Hits Per Second):每秒点击次数,单位是次/秒
TPS(Transaction per Second):系统每秒处理交易数,单位是笔/秒
QPS(Query per Second):系统每秒处理查询次数,单位是次/秒

对于互联网业务中,如果某些业务有且仅有一个请求连接,那么TPS=QPS=HPS,一般情况下用TPS来衡量整个业务流程,用QPS来衡量接口查询次数,用HPS来表示对服务器点击请求。

3)吞吐量

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

而对于并发系统,通常需要用吞吐量作为性能指标。一般而言,吞吐量是一个比较通用的指标,两个具有不同用户数和用户使用模式的系统,如果其最大吞吐量基本一致,则可以判断两个系统的处理能力基本一致。

4)并发用户数

指在同一时刻内,登录系统并进行业务操作的用户数量。对于长连接系统来说最大并发用户数即是系统的并发接入能力,而对于短连接系统而言最大并发用户数并不等于系统的并发接入能力短连接系统的并发用户数与系统架构、系统处理能力等各种情况相关。

与吞吐量相比,并发用户数是一个更直观但也更笼统的性能指标。实际上,并发用户数是一个非常不准确的指标,因为用户不同的使用模式会导致不同用户在单位时间发出不同数量的请求。

5)错误率

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

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

3、资源性能指标

1)CPU

CPU又称为中央处理器,是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心(Control Unit),功能主要是解释计算机指令以及处理计算机软件中的数据。

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

CPU利用率要低于业界警戒值范围之内,即小于或者等于75%
CPU sys%小于或者等于30%
CPU wait%小于或者等于5%

2)内存

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

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

衡量系统内存是否有瓶颈主要靠SWAP(与虚拟内存交换)交换空间利用率,一般情况下,SWAP交换空间利用率要低于70%,太多的交换将会引起系统性能低下。

3)磁盘吞吐量

磁盘吞吐量简称为Disk Throughput,是指在无磁盘故障的情况下单位时间内通过磁盘的数据量。分析指标主要有每秒读写多少兆、磁盘繁忙率、磁盘队列数、平均服务时间、平均等待时间、空间利用率等等。

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

4)网络吞吐量

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

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

4、中间件指标

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

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

各项指标参考标准:

当前正在运行的线程数不能超过设定的最大值:
系统性能较好的情况下,线程数最小值设置50和最大值设置200比较合适。

当前运行的JDBC连接数不能超过设定的最大值:
系统性能较好的情况下,JDBC最小值设置50和最大值设置200比较合适。

GC频率不能频繁,特别是FULL GC更不能频繁:
系统性能较好的情况下,JVM最小堆大小和最大堆大小分别设置1024M比较合适。

5、数据库指标

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

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

参考标准:
SQL耗时越小越好,一般情况下微秒级别;
命中率越高越好,一般情况下不能低于95%;
锁等待次数越低越好,等待时间越短越好。

6、稳定性指标

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

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

对于7*24运行的系统,至少应该能够保证系统稳定运行24小时以上。如果系统不能稳定的运行,上线后,随着业务量的增长和长时间运行,将会出现性能下降甚至崩溃的风险。

参考标准:
TPS曲线稳定,没有大幅度的波动;
各项资源指标没有泄露或异常情况。

下面是我整理的2024年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

无论前方多么艰难,保持坚定信念,勇往直前;每一次努力都是成长,每一步坚持都是希望。坚信自己,梦想终将绽放光芒!

只要心中燃烧着激情,坚持不懈追求梦想;无论多艰辛,都能书写出属于自己的辉煌篇章。相信自己,勇往直前,将创造无限可能!

生命中的每次努力都在铺就成功的路,每个坚持都是为了更好的明天。相信自己,勇往直前,你将创造属于自己的辉煌!

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

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

相关文章

Kotlin runBlocking CoroutineScope synchronized简单死锁场景

Kotlin runBlocking CoroutineScope synchronized简单死锁场景 import kotlinx.coroutines.*fun main(args: Array<String>) {runBlocking {val lock1 Any()val lock2 Any()CoroutineScope(Dispatchers.IO).launch {repeat(10) {println("A-$it 申请 lock1...&quo…

Http 超文本传输协议基本概念学习摘录

目录 HTTP协议 超文本传输协议 HyperText超文本 HTML超文本标记语言 HTTP协议原理 请求发送 服务器处理 响应发送 连接关闭或保持 HTTP协议版本 HTTP/0.9 HTTP/1.0 HTTP/1.1 HTTP/2 HTTP/3 HTTP请求方法 GET POST PUT DELETE HEAD OPTIONS HTTP请求头字…

JVM学习-类加载

目录 1.类文件结构 2.类加载器 3.类加载的三个阶段 3.1加载 3.2链接 3.2.1验证 3.2.2准备阶段 3.2.3解析阶段 3.3初始化 4.拓展&#xff1a;反射 4.1获取类对象 4.2创建实例 4.3获取方法 4.4方法调用 1.类文件结构 2.类加载器 类加载器用来将类文件的二进制字节码加载到JV…

猜数字游戏有三变(Java篇)

本篇会加入个人的所谓‘鱼式疯言’ ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人…

小白学视觉 | 超详细!Python中 pip 常用命令

本文来源公众号“小白学视觉”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;超详细&#xff01;Python中 pip 常用命令 相信对于大多数熟悉Python的人来说&#xff0c;一定都听说并且使用过pip这个工具&#xff0c;但是对它的了…

中国联通推出了一站式全流程的专业安全服务

中国联通依托多年深耕通信与信息安全领域的丰富经验和专业技术积累&#xff0c;推出了一站式全流程的专业安全服务&#xff0c;从网络环境的前期准备阶段直至正式运行&#xff0c;均提供全面、立体、高效的保障措施&#xff0c;确保各类企事业单位在网络空间的安全稳定。 请点击…

算法打卡day23|回溯法篇03|Leetcode 39. 组合总和、40.组合总和II、131.分割回文串

算法题 Leetcode 39. 组合总和 题目链接:39. 组合总和 大佬视频讲解&#xff1a;组合总和视频讲解 个人思路 这道组合题主要是有总和的限制&#xff0c;当递归和超过了总和就return&#xff0c;递归时加上回溯去遍历数组。 解法 回溯法 把组合问题抽象为如下树形结构 如上…

达源电机超高速数码马达震撼来袭

新质生产力是什么? 12万转高速电吹风机马达引领行业技术革新 随着科技的不断进步&#xff0c;电吹风机行业正迎来一场深刻新质生产力技术革新。在这场革新中&#xff0c;达源电机以其独特绕线技术与自适应平衡磁场的马达技术&#xff0c;成功打破了国外高速马达电机悬臂梁专利…

uniapp——第3篇:自定义组件、组件间传数据

前提&#xff0c;建议先学会前端几大基础&#xff1a;HTML、CSS、JS、Ajax&#xff0c;还有一定要会Vue!&#xff08;Vue2\Vue3&#xff09;都要会&#xff01;&#xff01;&#xff01;不然不好懂 一、组件是啥玩意&#xff1f; 我之前讲vue2的文章讲过 Vue全家桶:vue2vue3全…

位图与布隆过滤器

目录 一、位图 1、问题用位图来解决&#xff1a; 二、 布隆过滤器 1、将哈希与位图结合&#xff0c;即布隆过滤器 2.布隆过滤器的查找 3.布隆过滤器的删除 4.布隆过滤器优点 5、布隆过滤器缺陷 三、海量数据处理问题&#xff1a; 一、位图 问题1&#xff1a;给40亿个不…

netron:本地查看服务器端打开的onnx文件

我们开发一般都在服务器中开发&#xff0c;假如我们在服务器端导出了一个onnx文件&#xff0c;不将onnx文件传到本地&#xff0c;如何进行本地查看呢&#xff1f; netron --port 8082 --host 10.75.29.201 model_data/deeplab_0131.onnx--host : 指定服务器的ip, 注意不是本地…

2024/03/19(网络编程·day5)

一、思维导图 二、selec函数实现TCP并发服务器 #include<myhead.h>#define SER_PORT 8888 //服务器端口号 #define SER_IP "192.168.117.116" //服务器IP int main(int argc, const char *argv[]) {//1、创建一个套接字int sfd -1;sfd socket(AF_INET,SOC…

软件设计师:03 - 数据库系统

一、数据模型的分类 1.1、概念数据模型 1.2、结构数据模型 1.3 真题 二、三级模式 概念模式对应的是基本表&#xff0c;概念模式也称为模式 外模式对应的是视图&#xff0c;也称用户模式或者子模式 内模式对应的是数据库里面的存储文件&#xff0c;也称存储模式 真题 三、两级…

VO、RVO、ORCA(动态避障)算法

碰撞锥&#xff08;碰撞区域&#xff09; 上上图中假设B物体处于静止状态&#xff0c;A物体沿着向量v1和v2移动&#xff0c;刚好能和B擦肩而过&#xff0c;不会发生碰撞&#xff1b;若V1和V2的夹角再小一点的话就一定会发生碰撞。此时会产生碰撞区域&#xff1a; 红线画出来…

蓝桥杯练习04学生成绩统计

学生成绩统计 介绍 随着大数据的发展&#xff0c;数据统计在很多应用中显得不可或缺&#xff0c;echarts作为一款基于JavaScript的数据可视化图表库&#xff0c;也成为了前端开发的必备技能&#xff0c;下面我们一起来用echarts开发一个学生数据统计的柱形图。 准备 开始答…

Vmware使用ubuntu报错空间不够

Vmware使用ubuntu报错空间不够 1.vmware修改2.进入镜像进行修改2.1需要下载GParted软件 1.vmware修改 这个需要把硬盘的大小进行扩展 2.进入镜像进行修改 2.1需要下载GParted软件

C++_回文串

目录 回文子串 最长回文子串 分割回文串 IV 分割回文串 II 最长回文子序列 让字符串成为回文串的最少插入次数 回文子串 647. 回文子串 思路&#xff0c;i j表示改范围内是否为回文串&#xff0c; ②倒着遍历是为了取出dp[i 1][j - 1] ③i j 只有一对&#xff0c;不会重复…

harmonyOS简介及背景

harmonyOS的场景模式18n: 1&#xff08;入口手机&#xff09;8&#xff08;电脑、VR、手环、iPad、智慧屏、&#xff09;–wifi—n(车载、智能家居等所有)harmonyOS不需要考虑软硬件的差异&#xff0c;是一个兼容N种的超级终端harmonyOS干了两件事&#xff1a; &#xff08;1&a…

施工升降机AI数人数识别摄像机

施工现场作为一个复杂的工作环境&#xff0c;在施工过程中通常会有大量的人员出入&#xff0c;为了确保施工安全和管理效率&#xff0c;近年来施工升降机AI数人数识别摄像机应运而生。 这种摄像机依靠先进的人工智能技术和摄像头设备&#xff0c;能够实时监测和识别施工升降机内…

AIGC——ComfyUI工作流搭建、导入与常用工作流下载

工作流 ComfyUI工作流是一个基于图形节点编辑器的工作流程&#xff0c;通过拖拽各种节点到画布上&#xff0c;连接节点之间的关系&#xff0c;构建从加载模型到生成图像的流程。每个节点代表一个与Stable Diffusion相关的模型或功能&#xff0c;节点之间通过连线传递图片信息。…