阅读 100

集群规模估算

背景:QPS = 200万/s     全天不间断

让高峰期QPS控制在集群能承载的总QPS的30%左右是比较安全的策略

即应设计集群承载QPS上限为600万~700万/s 才是安全的(也就是集群的处理能力是高峰期的3~4倍这个样子)

数据集群估算:

假设每条数据估算2kb大小,2KB转换为G=2/1024/1024,即每条数据约1.9073486328125e-6GB

存储估算:

每天数据增量:2000000*24*60*60=172,800,000,000条/天

172,800,000,000*(2/1024/1024)=329,589.84375GB/天=321.8650817871094TB/天=0.314321368932724PB/天

0.314321368932724*3*365PB/年=344.1818989813328PB/年

一般集群存储不超过总存储大小的80%,所以一年总存储大小如下:

344.1818989813328PB/0.8=430.227373726666PB/年, 

按每个节点存储10PB的数量来算,

430.227373726666PB/10PB=43.0227373726666  大概需要44个节点来存储一年的数据

内存估算:

内存估算,内存的估算其实这个是没有绝对标准,有的公司使用Flink处理物联网数据,只用了几台不到10G的机器就可以处理。所以内存的估算其实不同的组件,执行多少任务,多少实时任务,离线任务、算法模型等,区别比较大

一般实时任务占用的资源都是固定的,可以根据业务个数估算。离线任务可以根据ETL任务数和任务资源配置情况估算,计算资源离线和实时同时启用的时候不能超过资源90%

实时任务资源占用需要小于50%,实时任务2000000/s的QPS,一分钟窗口2000000*60*(2/1024/1024)=228.9G,有的设置5分钟窗口,那么大概是1144.4G。

按照不超过50%来计算,需要1144.4G/0.5=2,288.8G(五分钟窗口计算);  228.9G/0.5=457.8G(一分钟窗口计算)

2,288.8G/44=52G/台(或457.8G/44=10.40G/台)

CPU估算:

CPU和内存比例,一般为1:2或者1:4,当然具体需要看有多少线程

16核的CPU一般能HOLD住一两百个线程的工作,如果一次计算量过大建议使用更大核的CPU 如32 cpu core,

支持超线程,SSE4.2指令

综上建议配置:     

      Nodes    44台

      Mem      56G

      CPU      32 cpu core,支持sse4.2指令

作者:麦子星星

原文链接:https://www.jianshu.com/p/c082c47a0d01

文章分类
后端
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐