首页 > 其他分享 >一个典型的性能分析案例

一个典型的性能分析案例

时间:2024-07-25 18:50:29浏览次数:12  
标签:典型 存储 场景 TOS 性能 带宽 案例 上传 数据

知识星球一位同学问了这样一个性能问题:

需求场景:车端上传触发类信号数据到TOS桶,持续1分钟会产生1G左右的包,但不是每分钟都会传。然后云服务Kafka监听到数据产生,处理这些数据。

测试方式:等比例准备20T数据,按单位时间的量,从桶间复制到监听的桶来模拟并发。

问题一:车多了以后同时上传数据,如何确认公有云桶吞吐性能?如果这里有瓶颈怎么处理?

问题二:如果同时模拟大批量用户(1000)在2小时内上传巨量数据(20T),这种场景怎么做?带宽费用如何计算?

这个问题可以说描述的比较全面了,有场景有具体数据还有明确的问题方向。有了这些信息之后,我们对这个案例展开分析,看看如何解决上述的两个问题。

 

首先,分析问题之前先尝试把服务请求和调用关系绘制出来,如下图:

简单理解该场景,即车辆端(可以理解为本地)产生信号数据时,会上传到云端TOS桶进行存储。Kafka会监听TOS是否有新数据产生,如果有则拉取对应数据,进行对应处理。

这里简单介绍下TOS。TOS,意为顶级的对象存储(Top Object Storage),它是一款分布式存储产品。

区别于传统的文件存储系统是多层级树形目录结构,TOS采用的是扁平化存储方式,即桶内所有对象都处于统一逻辑层级。其中:

  • 存储桶:存储桶(bucket)是用户存储对象(Object)的容器。
  • 对象:对象(Object)是TOS存储数据的基本单元对象由键(Key),数据(Data)和元数据(Metadata)三部分组成。
    • key:对象名,类似MAP的key。
    • Data:对象内容,是存储主题。
    • MetaData:对象的元数据,如对象大小、类型。

PS:图源于网络,侵删。

 

问题一:车多了以后同时上传数据,如何确认公有云桶吞吐性能?如果这里有瓶颈怎么处理?

这个问题其实在我看来是很简单的,因为数据存储采用的是云服务,即第三方厂商提供的服务。

类似云服务这种产品,相对来说都是比较标准化的,且TOS这种分布式的存储服务,都是支持水平扩展的,因此不必太过担心它的性能瓶颈。

假如该产品真出现所谓的性能瓶颈,大概率是采购规格问题,即购买的TOS服务本身的产品设计如此。如下图:

PS:图源于火山引擎TOS产品文档,侵删。

当然,不能将自己服务的可靠性全部交给云服务,因此在这个问题上,要考虑自己服务范围内的场景,即车端上传TOS这部分的带宽和流量大小。

在这点,要考虑真实的用户场景中,日常和极限场景下,单位时间内的数据产生量,对此进行一定的冗余处理即可。

 

问题二:如果同时模拟大批量用户(1000)在2小时内上传巨量数据(20T),这种场景怎么做?带宽费用如何计算?

这个问题问到了如何做,其实就是性能测试场景设计和实施方面。下面是分析思路:

前置条件:数据上传是持续性的。

数据分析:1000用户在2小时内上传20T数据,平均每秒上传约2.84G的数据。

用户场景:车端(本地)上传数据,上传速率➗8,排除车端本身网络带宽限制,则TOS入口带宽需要达到22.72Gbps。

场景分析:如上都是按照平均值,且1个车端1分钟产生1G数据位前提进行计算的,但需要考虑具体场景。

比如:车端正常产生数据需要多少时间?极端场景产生数据会持续多长时间(极限阈值)?不同场景的所占比率各是多少(流量模型)?

数据准备:依据上述场景得到具体的流量模型分布,然后准备对应的测试数据(或按照场景自行预埋数据)。

带宽费用:按照火山引擎的文档说明,标准的服务带宽无法用户场景,解决方案有两种:

一种是提供单,由服务商配置专有网络通道(网络更稳定,但费用更高);另一种则是车端数据上传前压缩,或者TOS入口限流(带宽费用较低,但需技术改造,会影响一定的时效性)。

 

补充说明:

1-从桶间复制数据到监听的桶模拟并发,取巧但不符合实际场景。

2-需求分析要按照实际场景,分段分场景讨论(如我是先梳理请求调用关系,再逐段分析)。

3-数据从TOS监听桶到kafka,同样需要考虑带宽传输速率,以及Kafka自身的容量(配置规格)。

 

如上就是我对这个性能需求案例的分析和思考,仅供大家参考。

标签:典型,存储,场景,TOS,性能,带宽,案例,上传,数据
From: https://www.cnblogs.com/imyalost/p/18323940

相关文章

  • 使用Spring Boot和Netty打造高性能聊天服务(一):基础入门
    使用SpringBoot和Netty打造高性能聊天服务(一):基础入门在现代互联网应用中,实时聊天功能已经成为了许多应用的标配。无论是社交应用、在线客服系统,还是游戏中的实时交流,聊天功能都扮演着重要角色。今天,我们将使用SpringBoot和Netty来构建一个高性能的聊天服务。本文是系列文章的第......
  • 钢铁百科:舞钢产20号钢材质解析,20#钢板调质状态交货,20号钢力学性能
    20#钢板材质是一种优质的低碳碳素钢,具有良好的韧性、塑性和焊接性。以下是对其执行标准、化学成分、力学性能、交货状态、应用范围及常用规格的详细介绍。执行标准:对于厚度在3~60mm的20#钢板,执行标准为GB/T711-2008,其交货状态通常为热轧,也可根据需求进行正火、退火或高温......
  • 钢铁百科:15#钢材质解析,15号钢四切,NB二探保材质保性能
    一、15#钢执行标准:   -GB/T711-2017:这是目前关于15#钢板的主要执行标准,该标准确保了钢板的质量、生产流程和性能均达到国家规定的要求。二、15#钢化学成分:*碳(C):0.12~0.18%*硅(Si):0.17~0.37%*锰(Mn):0.35~0.65%*硫(S)和磷(P)的含量均不超过0.035%此外,还可能含有少量的铬(Cr)、......
  • vuex的工作流程,模块化使用案例分享,及状态持久化
    文章目录一、Vuex是什么?二、核心概念三、Vuex的工作流程四、什么情况下我应该使用Vuex?五、Vuex的使用六、使用示例七、状态持久化1、手动利用HTML5的本地存储2、利用vuex-persistedstate插件2.1、安装2.2、配置一、Vuex是什么?Vuex是一个专为Vue.js应用程......
  • HDShredder 7 企业版案例分享: 依照国际权威标准,安全清除企业数据
    HDShredder7企业版用户案例天津鸿萌科贸发展有限公司是德国Miray公司HDShredder数据清除软件的授权代理商。近日,上海某网络科技有限公司采购HDShredder7企业版x4,为公司数据存储资产的安全清除工作流程配备高效的执行工具。HDShredder7企业版可支持最多同时清除4、8......
  • 《用comfyUI挑战全网AI图片产品实践案例》之comfyUI人像摄影处理工作流(换脸、换衣服、
    大家好,我是安琪这一期《用comfyUI挑战全网AI图片产品实践案例》教程是关于人像摄影图片处理。用comfyUI制作工作流,实现人像摄影图片换脸、换衣服,换背景,换其他元素的功能。在数字艺术领域,AI技术已经逐渐成为艺术创作的新趋势。comfyUI作为一款优秀的AI图像处理工具,提供了强......
  • MySQL配置开发文章:学习路线、使用案例及代码示例
    引言MySQL是一个广泛使用的开源关系型数据库管理系统,由于其性能高、成本低、可靠性强,成为了许多开发者的首选工具,本文将介绍MySQL的基本配置、学习路线、使用案例及代码示例,帮助你更好地掌握MySQL的使用MySQL配置开发教程学习路线基础知识:了解关系型数据库的基本概念,熟......
  • 结构体相关案例
    格式:struct结构体名字{          成员;          成员;          成员;          ……;   }起别名:格式:typedef struct结构体名字{          成员;          成员;          成员......
  • 字符串的相关案例和string库函数的使用
    字符串的存储特性:在存储过程中字符串都会在末尾自动添加一个结尾标志符\0                 来表示字符串结束字符串的定义方式有两种:方式一:利用字符数组+双引号的方式定义字符串例如:charstr[4]=“abc”;注意:这里的数组长度要么......
  • C语言面向对象风格编程解惑-全局变量性能分析
    C语言面向对象风格编程解惑-全局变量性能分析如果你是CPP老手,但在软件开发过程中要求采用C语言作为主要语言,首先遇到的是各种设计模式不方便应用了,感到非常困扰,然后就是认命之后走向另外一个极端,常常会有过度使用全局变量和goto语句的问题。CPP既然是CWithClass,自然不会排斥面......