职业探索-性能测试01-性能工程师成长路径-性能测试的核心概念-性能测试的全周期概览

职业探索-性能测试01-性能工程师成长路径-性能测试的核心概念-性能测试的全周期概览

参考来源
极客时间专栏:高楼的性能测试实战30讲
课程链接:https://time.geekbang.org/column/intro/100042501
在这里插入图片描述
性能测试分析的能力阶梯视图
在这里插入图片描述

性能工程师

真正的性能工程师,可以把结果整理清楚之后,又可以下结论,提出解决方案:线上根据这个测试结果,做对应的配置,系统肯定可以稳定运行。又或者是这样的:当前测试说明了线上不能支持,后面应该如何优化

性能测试的内容不仅仅包括测试,还包括分析调优

性能工程师的三大学习阶段

性能工具学习期:

理解工具的作用–做脚本和发压力

脚本的逻辑和压力场景的逻辑,和工具本身无关,和业务场景有关。
在这里插入图片描述

性能场景学习期:

如何做一个合理的性能测试
在这里插入图片描述

性能分析学习期

怎么判断性能瓶颈在哪里呢?
问题的解决,靠的是思维逻辑,靠的是判断,而不是靠工具。
我想看什么数据,而不是说“把数据给我看看”
在这里插入图片描述

性能测试分析的能力阶梯视图

在这里插入图片描述
1.工具操作:包括压力工具、监控工具、部析工具、调试工具。
2.数值理解:包括上面工具中所有输出的数据,
3.趋势分析、相关性分析、证据链分析:就是理解了工具产生的数值之后,还要把它们的
逻辑关系想明日。这才是性能测试分析中最重要的一环。
4.最后才是调优:有了第3步之后,调优的方案策略就有很多种了,具体选择取决于调优成本和产生的效果。

性能团队

性能团队职责定位

1.性能验证:针对给定的指标,只做性能验证。第三方测试机构基本上都是这样做的
2.性能测试:针对给定的系统,做全面的性能测试,可以得到系统最大容量,但不涉及到
调优。
3.性能测试+分析调优:针对给定的系统,做全面的性能测试,同时将系统调优到最优状态。

性能团队成长阶段

性能团队初建

这时的团队,可以执行场景,可以拿出数据,但工作出的结果并不理想。团队整体的价值就体现在每天跟着版本跑来跑去,一轮轮地测试下去,一个版本短则一两个星期,长则一个月。没有时间去 考虑测试结果对整个软生命期的价值,在各种琐碎的项自中疲于奔命,做脚本,拿出TPS和响应时间,做版本基线比对,出数据罗列式的性能测试报告。

性能团队初成熟

到了这个阶段,团队已经可以应付版本的更迭带来的性能工作压力,团队合作良好,稍有余力,开始考虑团队价值所在,在公司的组织结构中应该承担什么样的职责。在产品的流水线上终于可以占有一席之地了。这样很好,只是从实际的技未细节上来说,仍然没有摆脱第一阶段中琐碎的工作,没有把性能的价值体现出来,只是一个报告提供机器。

性能团队已成熟

有了标准、流程,团队的合作能力也成熟了之后,团队“是时候展示真正的实力了”。但问题来了,什么才是性能团队的真止实力呢?

团队实力的体现:
1.通过你的测试和分析优化之后,性能提升了多少?
这是一句非常简单直接的话。但是我相信有很多做性能测试工程师的人回答不出这样的问题。因为看着混乱的TPS曲线,自己都已经晕了,谁还知道性能提升了多少呢?
而一个成熟的团队应该回答的是:提升了10倍,我们调优了什么。这样的回答有理有据底气十足。
2.通过你的测试和分析优化之后,节省了多少成本?
这人问题就没有那么好回答了,因为你要知道整体的容量规划,线上的真实运营性能。如果之前的版本用了200台机器,而通过我们的测试分析优化之后,只用到了100台机器,那成本就很明显了。
但是,在我的职业生涯中,很少看到有人这样来体现性能存在的价值。有些场合是不需要这样体现,有些场合是不知道这样体现

性能测试的概念

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

性能指标、模型、场景、监控、实施、报告(记住核心的几个概念,更少更容易记住)

概念中的详细解释

有指标

时间指标、容量指标和资源利用率指标

有模型

模型是什么?它是真实场景的抽象,可以告诉性能测试人员,业务模型是什么样子。

性能测试也要选择适合自已系统业务逻辑的方式,用最低的成本、最快的时间来做事情。

有方案

方案规定的内容中有六个关键点,分别是测试环境、测试数据、测试模型、性能指标、压力策略、准入准出和进度风险。基本上有这些内容就够了,这些内容具体的信息还需要精准。

有监控

这部分的监控,要有分层、分段的能力,要有全局监控、定向监控 的能力。

有预定的条件
这里的条件包括软硬件环境、测试数据、测试执行策略、压力补偿等内容。要是展开来说在场景执行之前,这些条件应该是确定的

有场景

场景应该如何定义,来源英文的scenario,

场景来源于英文的scenario,对性能场景中的“场景”比较正宗的描述是:在既定的环境(包括动态扩展等策略)、既定的数据(包括场景热行中的数据变化)、既定的执行策略、既定的监控之下,执行性能脚本,同时观察系统各层级的性能状态参数变化,并实时判断分析场景是否符合预期。

有分析调优

瓶颈判断、性能优化、涉及相关性分析、趋势分析、证据链查找等等手段。

是否需要调优对性能项目划分:

1.新系统性能测试类:这样的项目一般都会要求测试出系统的最大容量,不然上线心里没
底。
2.旧系统新版本性能测试类:这样的项自一般都是和旧版本对比,只要性能不下降就可以根据历史数据推算容量,对调优要求一般都不大。

3.新系统性能测试优化类:这类的系统不仅要测试出最大容量,还要求调优到最好

有结果报告

需要汇报或者归档

性能场景的分类

在这里插入图片描述

1.基准性能场景

这里要做的是单交易的容量,为混合容量做准备(不要跟我说上几个线
程跑三五遍脚本叫基准测试,在我看来,那只是场景执行之前的预执行,用来确定有没有基本的脚本和场景设计问题,不能称之为一个分类)。

2.容量性能场景

这一环节必然是最核心的性能执行部分。根据业务复杂度的不同,这部
分的场景会设计出很多入,在概念部分就不细展升了,我会在后面的文章中详细说明,

3.稳定性性能场景

稳定性测试必然是性能场景的一个分类。只是现在在实际的项目中
稳定性测试基本没和生产一致过。在稳定性测试中,显然最核心的元素是时间(业务模型已经在容量场景中确定了),而时间的设置应该来自于运维周期,而不是来自于老板、产品和架构等这些人的心理安全感。

4,异常性能场景

要做异常性能场景,前提就是要有压力。在压力流量之下,模拟异常

场景和测试用例,用例限定在了描述测试脚本和测试数据上,并没有描述需要实时的判断和动态的分析。

性能测试的全周期概览

在这里插入图片描述
在性能测试的概念中,性能指标、性能模型、性能场景、性能监控、性能实施、性能报告这些既是概念中的关键词,也可以说是性能测试的方法和流程

而这些概念我们在实际的工作中,都是非常重要的。因为它们要消除沟通的误解。让不同层级,不同角色的人,可以在同样的知识背景下沟通,也可以让做事情的人有清晰的逻辑思路,同时对同行间的交流,也有正向的促进作用,

性能指标:业务指标和技术指标

性能指标的表示法

在这里插入图片描述
对于指标的理解:
在这里插入图片描述

TPS

transactions Per Second ,性能领域中一个关键的性能指标概念,描述每秒事务数。

T可以直接定义为每个业务步骤和完整的业务流。

创建什么级别的事务,完全取决于测试的目的是什么。

TPS–每秒事务数

事务,统计了一段脚本的执行时间。

RT

响应时间
Response Time

调优在当前性能项目中的状态
时间的拆分定位是性能瓶颈定位分析中非常重要的一节。
做根本原因的分析或协调其他团队来分析。
性能只测不调,就是性能验证的工作。

性能指标中并发用户数的计算

在这里插入图片描述
在这里插入图片描述

性能工具学习期的工具选择思考

如何选择合适自己的工具

我们使用工具,一定要知道几点:
1.工具能做什么?
2.工具不能做什么?
3.我们用工具的目标是什么?
4.当工具达不到目标时,我们怎么办?

指标之间的关系

在这里插入图片描述

TPS和并发数是什么关系呢?

在并发中谁来承载”并发“这入概念呢
说到这入,我们先说一下所谓的“绝对并发”和“相对并发”这两入概念。
绝对并发指的是同一时刻的并发数;
相对并发指的是一个时间段内发生的事情。

什么是并发
在这里插入图片描述

在线用户数,并发用户数怎么计算

在这里插入图片描述

从并发用户数到压力机的并发线程数

TPS代表并发时,指的是Server端的处理能力,并不是压力工具上的并发线程数。
在意你服务端的处理能力就可以了

##END提示,>!<

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

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

相关文章

FuTalk设计周刊-Vol.034

&#x1f525;AI漫谈 热点捕手 1、反转反转再反转&#xff01;OpenAI“内斗”风波始末 故事还远远没有结束&#xff0c;一场“宫斗”解决不了商业世界影响下科技发展的路线之争&#xff0c;或许未来还将有很多“选择”将困扰这家年轻的企业&#xff0c;这是AI领域发展下必将经…

【论文阅读】-- 时间空间化:用于深度分类器训练的可扩展且可靠的时间旅行可视化

Temporality Spatialization: A Scalable and Faithful Time-Travelling Visualization for Deep Classifier Training 摘要1 引言2 动机3 问题定义4 方法论4.1 时空复合体4.2 复数约简 5 实验6 相关工作7 结论参考文献 摘要 时间旅行可视化回答了深度分类器的预测是如何在训练…

【单片机毕业设计选题24015】-基于物联网的家用智能充电桩计费系统设计

系统功能: 采用STM32最小系统板控制 1. 通过IM1281B电能计量模块读取系统电压电流功率电能等信息 2. 通过ESP8266WiFi模块连接阿里云 3. 使用RFID模块刷卡 4. 继电器模块控制充电 5. 12864OLED模块显示系统信息 6. 开启充电但检测不到系统电压时蜂鸣器模块报警。 主要功…

delphi 开发app

好的工具用起来就会顺手&#xff0c;很多Delphi从业者用惯了Delphi工具&#xff0c;在面对移动APP称王的时代似乎有力使不出。现在不用再担心JAVA语言的一些特性&#xff0c;太纠结了。我们直接用Delphi XE7开发吧。虽然Delphi XE2开始就支持移动开发了&#xff0c;但这中间的五…

ubuntu永久换镜像源详细方法

1.查看ubuntu的版本&#xff0c;不同的版本对应的不同的镜像源&#xff08;下面会讲到&#xff0c;先按步骤操作即可&#xff09; cat /etc/issue 2.先备份一个&#xff0c;防止更改错误 cp /etc/apt/sources.list /etc/apt/sources.list.backup 3.备份好之后删除原有的sour…

VUE 项目用 Docker+Nginx进行打包部署

一、Docker Docker 是一个容器化平台&#xff0c;允许你将应用程序及其依赖项打包在容器中。使用 Docker&#xff0c;你可以创建一个包含 Vue.js 应用程序的容器镜像&#xff0c;并在任何支持 Docker 的环境中运行该镜像。 二、Nginx Nginx 是一个高性能的 HTTP 服务器和反向…

能提醒我重要工作事项的软件是什么 工作提醒软件

在工作中&#xff0c;我们总是不可避免地需要处理各种琐碎而重要的事项。然而&#xff0c;人的记忆力毕竟有限&#xff0c;尤其是在忙碌和高压的工作环境下&#xff0c;遗忘似乎成了一个难以避免的问题。想象一下&#xff0c;你因为一个疏忽忘记了一个重要的会议&#xff0c;或…

UE4_材质_雨滴涟漪效果ripple effect_ben教程

学习笔记&#xff0c;不喜勿喷&#xff01;侵权立删&#xff0c;祝愿生活越来越好&#xff01; 雨水落下时会产生这些非常漂亮的同心环波纹&#xff0c;我们要做的第一件事是创建一个单个的圆环遮罩动画&#xff0c;我们希望环在开始的时候在中心很小&#xff0c;然后放大&…

【漏洞复现】海康威视 综合安防管理平台软件 center_api_files 任意文件上传漏洞

免责声明&#xff1a; 本文内容旨在提供有关特定漏洞或安全漏洞的信息&#xff0c;以帮助用户更好地了解可能存在的风险。公布此类信息的目的在于促进网络安全意识和技术进步&#xff0c;并非出于任何恶意目的。阅读者应该明白&#xff0c;在利用本文提到的漏洞信息或进行相关测…

AI大模型的战场:通用大模型VS垂直大模型,谁会赢?

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

C语言 | Leetcode C语言题解之第162题寻找峰值

题目&#xff1a; 题解&#xff1a; int findPeakElement(int* nums, int numsSize) {int ls_max0;for(int i1;i<numsSize;i){if(nums[ls_max]>nums[i]);else{ls_maxi;}}return ls_max; }

部署LVS-NAT群集

目录 LVS-NAT模式部署 ​1.准备工具 2.所有虚拟机初始化 3.配置NFS共享存储&#xff08;20.0.0.40&#xff09; 3.1安装软件包 3.2创建共享目录和测试文件 4.web服务器部署&#xff08;20.0.0.20 20.0.0.30配置相同&#xff09; 4.1yum安装nginx服务 4.2测试nfs共享服…

上海科技博物馆超薄OLED柔性壁纸屏应用方案

产品&#xff1a;2组55寸OLED柔性屏2x1 特点&#xff1a;嵌入墙体&#xff0c;与空间装饰融入一体 用途&#xff1a;播放文物展示 一、项目背景 上海科技博物馆作为展示科技与文化的交汇点&#xff0c;一直致力于为观众提供沉浸式的参观体验。为了提升文物展示的现代化和科技感…

计算机网络:运输层 - 概述

计算机网络&#xff1a;运输层 - 概述 运输层的任务端口号复用与分用UDP协议首部格式 TCP协议面向字节流 运输层的任务 物理层、数据链路层以及网络层&#xff0c;他们共同解决了将主机通过网络互联起来所面临的问题&#xff0c;实现了主机到主机的通信。 网络层的作用范围是…

RIP路由协议汇总、版本兼容、定时器、协议优先级配置(华为)

#交换设备 RIP路由协议汇总 一、原理概述 当网络中路由器的路由条目非常多时&#xff0c;可以通过路由汇总&#xff08;又称路由汇聚或路由聚合&#xff09;来减少路由条目数&#xff0c;加快路由收敛时间和增强网络稳定性。路由汇总的原理是&#xff0c;同一个自然网段内的…

python GUI开发: tkinter菜单创建,记事本和画图软件综合项目的实战演练

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

Python基础用法 之 运算符

1.算数运算符 符号作用说明举例加与“”相同 - 减与“-”相同*乘 与“ ”相同 9*218/除 与“ ”相同 9/24.5 、6/32.0//求商&#xff08;整数部分&#xff09; 两个数据做除法的 商 9//24%取余&#xff08;余数部分&#xff09; 是两个数据做除法的 余数 9%21**幂、次方2**…

LabVIEW在SpaceX的应用

结合真实的资料介绍LabVIEW在SpaceX的应用&#xff0c;涵盖自动化测试系统、数据采集与监控、可视化与分析、模块化设计与扩展&#xff0c;以及效率与可靠性的提高。 ​ 自动化测试系统 LabVIEW在SpaceX的自动化测试系统中发挥了关键作用。自动化测试是确保SpaceX火箭及其子系…

Boosting原理代码实现

1&#xff0e;提升方法是将弱学习算法提升为强学习算法的统计学习方法。在分类学习中&#xff0c;提升方法通过反复修改训练数据的权值分布&#xff0c;构建一系列基本分类器&#xff08;弱分类器&#xff09;&#xff0c;并将这些基本分类器线性组合&#xff0c;构成一个强分类…

k8s自动补全工具和UI管理界面

分享两个有利于K8S的工具 目录 分享两个有利于K8S的工具 一、部署Dashboard&#xff08;主节点&#xff09; 介绍 1.1、查看集群状态 1.2、下载yaml文件并运行Dashboard 1.3、部署服务 1.4、创建访问账户、获取token&#xff08;令牌&#xff09; 1.5、浏览器访问Dash…