测试架构师如何落地性能测试方案(一)

news2024/11/24 22:48:51

背景描述:

最近刚接手一个新项目,在最开始的时候要求对这个项目做性能测试,产品经理也给不出性能需求,只因为这个项目是电商项目,可能会有高并发,秒杀的场景,所以产品经理要求我们对这个项目必须做性能测试,又因为这个项目是一个新项目,所以大家都没有重视起来

过了一段时间,当领导问到这个项目的性能测试方案如何落地的时候,大家都懵了,都不知道该怎么办。然后测试组长就把目光投向了我-----整个测试团队唯一的测试架构师,在这个时候,我就想起了还有研发架构师,于是我就找到了研发架构师,一起沟通这个项目的性能需求!!!

问题来了.......

因为最开始的时候,产品经理也给不出性能需求。要想在项目最开始的时候给出性能测试方案,就必须要有对应的性能需求。但是现在这个项目只是刚开始,还没有一些产品文档,所以产品经理也给不出来性能需求

只能知道大概的产品方向,以及大概的功能模块有哪些,所以在这个时候,只能靠架构师和产品经理在一起进行沟通。

我是如何解决问题的.......

由于做的类似于一个电商APP,是前后端分离的项目,所以市场上有很多竞品可以拿来分析,于是就我就主持召开了一个会议,会议主题:“如何落低性能测试”,参会人员:产品经理,项目经理,研发架构师、还有研发组长。但是在这个会议的进行过程中,发现大家并不是很愿意讨论性能测试,而是比较热衷于产品需求和对应的性能需求,因为没有产品需求和性能需求的话,就谈不到性能测试这一步。

这里再补充一点:其实我们平时在项目里面做性能测试的话,也就有三种情况会做性能测试:

1,就是我们要对当前的系统做一个摸底,也就是系统性能兜底,看一下当前的系统能够容纳多少并发。

2,就是提出来具体的性能需求,比如我要实现3000人同时做什么什么事情,满足1000并发,系统响应不超过2秒......

3,就是当系统出现性能问题了,我们需要进行性能排查和性能测试。

好像发现了救命稻草.........

因为这是一个新项目,所以暂时就不会出现性能问题,主要还是要有性能需求才能够的性能测试,但是这个性能需求没有人能够给出,产品经理给不出来,项目经理也给不出来,研发更给不出来。

所以在这个时候,我们的重点是讨论性能需求,在会议讨论过程中发现,我们目前评估竞争产品,也就是竞品分析,发现竞品类APP需要至少满足1000TPS,系统响应不超过2秒.......

发现了新问题.......

综合对比了几款竞品APP,发现:某一款竞品APP在第一个版本要满足 1000TPS的并发能力,但是现在这个1000TPS的并发能力应该如何设计,在这个时候就是另一个问题了,而且这个性能需求也是大家通过竞品分析得来的,并不能算真正的性能需求,只能算暂时的一个伪需求。

目前大家的会议讨论的重点就是如何设计一个能够满足1000TPS的性能架构,等以后产品真正上线使用过程中再逐步调整优化需求!!!

在满足1000TPS的性能架构的基础之上完成的第一个测试版本,性能测试人员才能够对系统进行测试,查看系统到底能否达到1000的TPS,整个会议的目的都已经达到了,所以说,剩下的重点就是如何设计一套架构能够满足当前的1000TPS的业务。

当然这个工作并不是一个测试人员来做的,也不是简单的研发人员来做的,而是由系统架构师来做。

于是到最后,这个任务就交给了系统架构师,也就是Java架构师,当然测试架构师也要参与其中,但是目前的系统架构师一时间也给不出来具体的架构方案,因为,如果给出来1000TPS的架构方案,就必须在敲代码之前能够设计出来一套具体的架构方案。

重点难点来了.........

在敲代码之前,能够评估能够给出一套具体的架构方案,并且评估出该方案的吞吐量,TPS不小于1000,这个工作量只能由系统架构师来做,经过一段时间和系统架构师的沟通发现。

这个事情只能凭架构师个人的经验来设计了,各种框架、中间件设计、数据库缓存、微服务架构,表结构,负载均衡策略以及每个中间件能满足多少并发。

测试前移........

这些都是要凭架构师的个人经验了,毕竟还没有敲代码,等整个架构设计好了之后才开始敲代码!在研发敲代码的时候,测试人员就可以设计开展性能测试相关的工作了!等整个性能测试环境搞定之后,我们就可以真正执行具体的性能测试了!那如果说,当性能环境都搞定了之后,代码也都完成的差不多了,数据也都造的差不多了,这个时候才开始评估性能方案都已经晚了,所以说一定要在敲代码之前就要评估出系统的吞吐量TPS。

当然这个对架构师的技术经验要求都很高,一般人是做不好的,只有系统架构师才能做好,而且是经验非常丰富的系统架构师也不一定能够保证敲代码之前设计的这套方案就能够满足当时的性能评估,所以还是要等性能测试的时候看真正的结果。


以下是我收集到的比较好的学习教程资源,虽然不是什么很值钱的东西,如果你刚好需要,可以评论区,留言【777】直接拿走就好了

各位想获取资料的朋友请点赞 + 评论 + 收藏,三连!

三连之后我会在评论区挨个私信发给你们~

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

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

相关文章

亿发创新中医药信息化解决方案,自动化煎煮+调剂,打造智能中药房

传统中医药行业逐步复兴,同时互联网科技和人工智能等信息科技助力中医药行业逐步实现数字化转型。利用互联网、物联网、大数据等科技,实现现代科学与传统中医药的结合,提供智能配方颗粒调配系统、中药自动化调剂系统、中药煎配智能管理系统、…

前后端分离------后端创建笔记(05)用户列表查询接口(下)

本文章转载于【SpringBootVue】全网最简单但实用的前后端分离项目实战笔记 - 前端_大菜007的博客-CSDN博客 仅用于学习和讨论,如有侵权请联系 源码:https://gitee.com/green_vegetables/x-admin-project.git 素材:https://pan.baidu.com/s/…

2023年国赛数学建模思路 - 案例:感知机原理剖析及实现

文章目录 1 感知机的直观理解2 感知机的数学角度3 代码实现 4 建模资料 # 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 感知机的直观理解 感知机应该属于机器学习算法中最简单的一种算法,其…

类对象数组抽取对象指定属性重新组成新的类对象数组

原本后台返回数据是这样: 我只想要每条数据对象的jianyanneirong和jianyannneirong1两个属性的信息: 1.使用map方法 //contentList是原本类对象数组let a contentList.map((val)>{return {jianyanneirong: val.jianyanneirong,jianyanneirong1: val.…

【EI/SCOPUS检索】第三届计算机视觉、应用与算法国际学术会议(CVAA 2023)

第三届计算机视觉、应用与算法国际学术会议(CVAA 2023) The 3rd International Conference on Computer Vision, Application and Algorithm 2023年第三届计算机视觉、应用与算法国际学术会议(CVAA 2023)主要围绕计算机视觉、计算机应用、计…

展会邀请 | 虹科诚邀您参加8月16日深圳视觉系统设计技术会议

VisionCon视觉系统设计技术会议 将于8月16日在深圳深铁皇冠假日酒店隆重举行! 人力成本的提高、国际关系的不确定性等众多因素,都在促使中国制造业采用更先进的自动化及智能化技术,同时也在加速核心技术的国产化。作为智能制造不可或缺的关…

机器学习笔记 - 在 Vision Transformer 中可视化注意力

2022 年,视觉变换器(ViT) 成为卷积神经网络(CNN) 的有力竞争对手,后者现已成为计算机视觉领域的最先进技术,并广泛应用于许多图像识别应用中。在计算效率和准确性方面,ViT 模型超过了当前最先进的 (CNN) 几乎四倍。 一、视觉转换器 (ViT) 如何工作? 视觉转换器模型的性能…

VictoriaMetrics部署及vmalert集成钉钉告警

1、部署VictoriaMetrics cd /usr/local wget https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v1.65.0/victoria-metrics-amd64-v1.65.0.tar.gz mkdir victoria-metrics && tar -xvzf victoria-metrics-amd64-v1.65.0.tar.gz && \ mv …

python_PyQt5运行股票研究python方法工具V1.1_增加表格展示控件

承接 【python_PyQt5运行股票研究python方法工具V1.0】 地址 python_PyQt5运行股票研究python方法工具V1.0_程序猿与金融与科技的博客-CSDN博客 目录 结果展示: 代码: 示例py文件代码(计算股票日横截面数据) 参数json文件 表…

Java SPI机制

Java SPI机制 java的spi就是一种服务提供发现机制,在一方制定好接口规范后,通过spi的机制可以它的子实现类进行服务发现,以及加载它的子实现类,通过这种机制,让我们在引入第三方库时,不用讲第三方库中的类…

Dubbo 核心概念和架构

以上是 Dubbo 的工作原理图,从抽象架构上分为两层:服务治理抽象控制面 和 Dubbo 数据面 。 服务治理控制面。服务治理控制面不是特指如注册中心类的单个具体组件,而是对 Dubbo 治理体系的抽象表达。控制面包含协调服务发现的注册中心、流量管…

如何批量上传截图

转载:如何批量上传截图 目前用的截图是把iphone上的宣传图改大了分辨率而已,并不是真正ipad上的效果,举例,假设目前在做一个项目是 uniapp开发的,可以通过浏览器运行,运行的分辨率改成ipad截图就可以了&a…

ATRank: An Attention-Based User Behavior Modeling Framework for Recommendation

Abstract 异构用户行为 我们的模型考虑了【异构用户行为】,我们将所有类型的行为投射到多个潜在的语义空间中,在这些语义空间中,行为之间可以通过自关注产生影响。 异构用户行为(Heterogeneous User Behavior)指的是在一个系统、平台或社交网络中,不同用户在行为模式、兴…

利用windows服务器自带的IIS搭建网站并发布公网访问【内网穿透】

文章目录 1.前言2.Windows网页设置2.1 Windows IIS功能设置2.2 IIS网页访问测试 3. Cpolar内网穿透3.1 下载安装Cpolar3.2 Cpolar云端设置3.3 Cpolar本地设置 4.公网访问测试5.结语 1.前言 在网上各种教程和介绍中,搭建网页都会借助各种软件的帮助,比如…

前端CSS居中布局

在前端开发中,实现居中布局是一项必备技能,无论是垂直居中、水平居中,还是同时实现垂直和水平居中。这不仅对于构建响应式网页至关重要,还在设计弹窗、创建导航菜单和设计登录界面时都能派上用场。精通居中布局将为你的前端技能提…

C++初阶之模板深化讲解

模板深化讲解 非类型模板模板的特化1.函数模板特化2.类模板特化 模板分离编译1.什么是分离编译2.模板的分离编译 模板总结 非类型模板 非类型模板(Non-Type Template)是 C 中的一种模板形式,它允许你在模板中传递除了类型以外的其他值&#x…

BLE 学习小结

GAP 和 GATT https://www.youtube.com/watch?vyKJtnkEjPFI GAP: Generic Access Profile. 定义的是Scanner跟Advertiser的角色。负责连接相关的服务 (设备的搜寻,用来建立连接,连接的管理,等)。 GATT: Generic Attribute Profile. 定义的是…

Java实现DTLS之技术背景原理(一)

文章目录 前言一、DTLS是什么?二、RFC6347标准定义DTLS1.中文翻译 总结感谢 前言 需求:升级服务侧SDK,实现与灯控器之间DTLS加密通信,代替SM4国密。目前通信是采用UDP协议并实现SM4国密加密,为了提升产品竞争力需要实…

5,Lambda

Lambda Lambda https://blog.csdn.net/A1138474382/article/details/111149792 Lambda 捕获列表。在C 规范中也称为Lambda导入器, 捕获列表总是出现在Lambda函数的开始处。实际上,[]是Lambda引出符。编译器根据该引出符判断接下来的代码是否是Lambda函数…

【gogogo专栏】指针

go语言指针 为什么需要指针指针使用实例值传递地址传递多级指针 为什么需要指针 作为一个大学划水,毕业一直写java的程序员来说,多多少少对于指针有点陌生,由于近期需要转go,正好学到指针这里,就来探究下指针的使用场景…