性能场景和性能需求指标

目录

一 性能场景

1、基准性能场景

2、容量性能场景

3、稳定性性能场景

4、异常性能场景

 二 性能需求指标

1、业务指标

2、技术指标

2.1 时间指标 RT

2.2 容量指标 TPS

2.3 资源利用率

3、指标之间的关系

“TPS”与“响应时间”

“用户数”与“TPS”与“压力工具中的线程数”


最近在网上搜索了很多性能测试的资料,都不能让我有深入的理解,直到看了高楼老师的《性能测试实战30讲》和《高楼的性能工程实战课》培训课程,才觉得对性能有了一个全貌的认知;

虽然做过几个性能测试项目,但是也仅仅局限在,就像老师所说“就是做些脚本、参数化、关联,压起来之后,再扔出一个结果。”

老师的课程内容很丰富,目前还在学习阶段,并不能完全消化理解,但是又想记录下来一些东西以加深理解,所以有了这篇文章,本文的描述和图片全部摘自老师的培训课程。

“性能测试”不仅仅包括测试,还包括分析和调优

性能测试是针对系统的性能指标,建立性能测试模型,制定性能测试方案,制定监控策略,在场景条件之下执行性能场景,分析判断性能瓶颈并调优,最终得出性能结果来评估系统的性能指标是否满足既定值。

一 性能场景

1、基准性能场景

也可称之为单交易容量,即将每一个业务都压到最大TPS,从而为后续场景做数据比对。

2、容量性能场景

也可称之为混合容量性能场景,即将所有业务根据比例加到一个场景中,在数据、软硬件环境、监控等的配合之下,分析瓶颈并调优的过程。

3、稳定性性能场景

核心就是时长。在长时间的运行之下,观察系统的性能表现,分析瓶颈并调优的过程。

  1. 稳定性的时间长度要合理,也就是说要合理判断稳定性场景需要运行多长时间;
  2. 稳定性使用的TPS量级要合理,也就是说我们要合理判断稳定性场景应该用多大的压力执行。

4、异常性能场景

显然就是异常的定义最为重要。之前我们常用的手段就是宕主机、宕应用、宕网卡。随着云基础架构的发展,现在我们还有宕容器、宕虚机、宕缓存、宕队列、宕集装箱、宕流控、宕熔断等等。实际的场景中要模拟什么样的异常,一定是根据系统的业务架构和部署架构分析而来的。不是看到什么都在宕一下。

 
二 性能需求指标

1、业务指标

所有的技术指标都是在有业务场景的前提下制定的,而技术指标和业务指标之间也要有详细的换算过程。

2、技术指标

2.1 时间指标 RT

响应时间指的是客户端发出请求到得到响应的整个过程所经历的时间;

2.2 容量指标 TPS

TPS(Transactions Per Second),每秒事务数;

在性能测试过程中,TPS之所以重要,是因为它可以反应出一个系统的处理能力。

其中的T为事务,事务就是统计了一段脚本的执行时间,性能中TPS中T的定义取决于场景的目标和T的作用。

如果我们要单独测试接口1、2、3,那T就是接口级的;如果我们要从用户的角度来下一个订单,那1、2、3应该在一个T中,这就是业务级的。

接口级脚本——事务start(接口1)
接口1脚本
——事务end(接口1)
——事务start(接口2)
接口2脚本
——事务end(接口2)
——事务start(接口3)
接口3脚本
——事务end(接口3)

业务级接口层脚本

(就是用接口拼接出一个完整的业务流)

——事务start(业务A)
接口1脚本 - 接口2(同步调用)
接口1脚本 - 接口3(异步调用)
——事务end(业务A)
用户级脚本——事务start(业务A)
点击0 - 接口1脚本 - 接口2(同步调用)
点击0 - 接口1脚本 - 接口3(异步调用)
——事务end(业务A)

2.3 资源利用率

CPU 内存 IO 网络;

3、指标之间的关系

“TPS”与“响应时间”

图中蓝线表示TPS,黄色表示响应时间。

在TPS增加的过程中,响应时间一开始会处在较低的状态,也就是在A点之前。

接着响应时间开始有些增加,直到业务可以承受的时间点B,这时TPS仍然有增长的空间。

再接着增加压力,达到C点时,达到最大TPS。

我们再接着增加压力,响应时间接着增加,但TPS会有下降(请注意,这里并不是必然的,有些系统在队列上处理得很好,会保持稳定的TPS,然后多出来的请求都被友好拒绝)。

最后,响应时间过长,达到了超时的程度。

“用户数”与“TPS”与“压力工具中的线程数”

上面的一个框中有四个箭头,每个都代表着相同的事务。

在上面这张示意图中,其实压力工具是4个并发线程,由于每个线程都可以在一秒内完成4个事务,所以总的TPS是16。

对在线的用户做并发度的分析,在很多业务中,并发度都会低于5%,甚至低于1%。

拿5%来计算,就是10000用户x5%=500(用户级TPS),注意哦,这里是TPS,而不是并发线程数。

如果这时响应时间是100ms,那显然并发线程数是500TPS/(1000ms/100ms)=50(并发线程)。

但是!响应时间肯定不会一直都是100ms的嘛。所以通常情况下,上面的这个比例都不会固定,而是随着并发线程数的增加,会出现趋势上的关系。

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

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

相关文章

Idea 快捷键整理

Idea快捷键和自动代码补全汇总 idea快捷键汇总 Ctrl 快捷键说明Ctrl F在当前文件进行文本查找 (必备)Ctrl R在当前文件进行文本替换 (必备)Ctrl Z撤销 (必备)Ctrl Y删除光标所在行 或 删除选中的行 &am…

从鲁大师十五年,寻找软件的生存法则

千禧之年,国内互联网用户数量首次突破1000万大关,互联网的腾飞正式拉开序幕。 从彼时算起,中国互联网发展也不过23年,而我们记忆中那个摇着蒲扇的老头,却占据了其中关键的十五年。 这十五年中有太多曾经为人熟知的软件…

Java真实面试题,offer已到手

关于学习 在黑马程序员刚刚开始的时候学习尽头非常足,到后面逐渐失去了一些兴趣,以至于后面上课会出现走神等问题,但是毕业时后悔晚矣。等到开始学习项目一的时候,思路总会比别人慢一些,不看讲义写不出来代码。 建议…

Postgresql 基础使用语法

1.数据类型 1.数字类型 类型 长度 说明 范围 与其他db比较 Smallint 2字节 小范围整数类型 32768到32767 integer 4字节 整数类型 2147483648到2147483647 bigint 8字节 大范围整数类型 -9233203685477808到9223203685477807 decimal 可变 用户指定 精度小…

数字化车间mes生产执行管理系统

数字化车间mes是一款基于B/S结构的生产执行管理系统,主要目的是为中小企业提供了高效率、低成本、通用性强的一个MES系统解决方案,能够实时监控当前完成进度。 功能简介: 生产管理 大屏展示:可以从大屏展示页面看到任工序…

ROS学习笔记(二)---使用 VScode 开发 ROS 的Python程序(简例)

一、任务介绍 本篇作为ROS学习的第二篇,是关于如何在Ubuntu18.04中使用VSCode编写一个Python程序,输出“Hello!”的内容介绍。 首先我们来了解下ROS的文件系统,ROS文件系统级指的是在硬盘上ROS源代码的组织形式,其结构…

【软件工程】面向对象方法-RUP

RUP(Rational Unified Process,统一软件开发过程)。 RUP特点 以用况驱动的,以体系结构为中心的,迭代增量式开发 用况驱动 用况是能够向用户提供有价值结果的系统中的一种功能用况获取的是功能需求 在系统的生存周期中…

C语言——动态内存函数(malloc、calloc、realloc、free)

了解动态内存函数 前言:一、malloc函数二、calloc函数三、realloc函数四、free函数 前言: 在C语言中,动态内存函数是块重要的知识点。以往,我们开辟空间都是固定得,数组编译结束后就不能继续给它开辟空间了&#xff0…

神经网络基础-神经网络补充概念-02-逻辑回归

概念 逻辑回归是一种用于二分分类问题的统计学习方法,尽管名字中带有"回归"一词,但实际上它用于分类任务。逻辑回归的目标是根据输入特征来预测数据点属于某个类别的概率,然后将概率映射到一个离散的类别标签。 逻辑回归模型的核…

Photoshop快捷键大全

Photoshop是一款非常强大的图像处理软件,它提供了许多快捷键,可以帮助用户更快地完成操作。熟练掌握这些快捷键,可以大大提高工作效率,让您更加专注于创作。 Photoshop快捷键汇总: 一、基本操作快捷键 1. 新建文档…

Wlan——802.11协议物理层关键技术(OFDM、MIMO、BSS)和CSMA/CD机制的介绍

目录 802.11协议的发展 802.11协议物理层关键技术 信道捆绑技术 OFDM/OFDMA技术 Short-Gi短保护间隔技术 MIMO/MU-MIMO技术 QAM技术 BSS Color快速识别 802.11MAC层关键技术CSMA/CD机制 为什么无线提出了CSMA/CD机制 CSMA/CD的工作机制 CSMA/CD的工作原理 CSMA/CD…

码银送书第五期《互联网广告系统:架构、算法与智能化》

广告平台的建设和完善是一项长期工程。例如,谷歌早于2003年通过收购Applied Semantics开展Google AdSense 项目,而直到20年后的今天,谷歌展示广告平台仍在持续创新和提升。广告平台是负有营收责任的复杂在线平台,对其进行任何改动…