浅谈 MaxCompute 资源规划管理及评估( 三 )
计算资源CU数量规划的细则:
Step1:首先 , 计算得到平均每天运行所有任务消耗的cost_cpu总和(需要除以100 , 才能得到真正的cpu核数 *秒 , 然后再除以 3600 , 得到消耗的 “cpu核数 *小时”) 。 举个例子:MaxCompute project平均每天需要运行1000个任务 , 这些任务消耗的cost_cpu分别是 W1、W2 …… W1000 。 那么需要将W1 + W2+ …… + W1000 得到每天运行所有任务消耗的cost_cpu总和Wz 。
注意:数据中台一般会划分6个MaxCompute project , 分别是:
- ods_dev:贴源层开发测试project;
- ods_prod:贴源层生产project;
- cdm_dev:公共层开发测试project;
- cdm_prod:公共层生产project;
- ads_dev:应用层开发测试project;
- ads_prod:应用层生产project;
Step2:按照上述介绍的阿里云官网详情介绍 , cost_cpu需要除以100才是真正消耗的CPU核数 。 同时 , cost_cpu按照秒进行度量 , 我们一般会按照小时进行度量 。 因此 , 需要将cost_cpu总和Wz除以100、再除以3600 , 最后得到平均每天运行所有任务消耗 “cpu核数 *小时” , 本文假设这个值为W 。
Step3:咨询客户数据批量处理任务需要在每天的哪些时间段运行完成 。 举个例子:客户要求在深夜零点之后、凌晨6点之前必须将所有数据批量处理任务运行完成 。 那么每天能够运行的总时长都是6个小时 。 本文假设所有任务必须在N个小时运行完成 。
Step4:利用上述得到的每天所有任务[cpu核数 *小时 / 任务运行时长N个小时] , 就可以得到该客户的MaxCompute project需要分配的计算资源CU数量的最小值:W/N 。
W/N的前提是数据处理任务的cost_cpu很稳定 , 而且在这N个小时内 , 所有任务都随时在运行 , 不存在任何空闲的时间 。 但是 , 实际项目可能会因为某些原因导致数据计算任务运行时间延长(比如参与计算的数据量增加) , 相当于W会变大;同时 , 由于DataWorks/Dataphin调度任务还会产生很多延迟时间、任务获取CU资源也会耽误很多时间 , 这部分延迟时间会加大任务之间运行的时间间隔 , 真正用于运行任务的时间会小于N 。
W/N的分母实际变大、分子实际变小 , 进而变相地要求增加计算资源 , 以便让任务获取更多资源进而运行地更加快速 。 因此一般情况下 , 会在上述得到的W/N结果基础上增加一倍 。 按照上述4个步骤 , 可以预估计算得到企业可以需要购买的CU数量 。
3.3.3 举例规划计算资源CU数量
某企业实施数据中台项目 , 划分8个MaxCompute project 。 除了3.3.2章节介绍的6个MaxCompute project之外 , 还单独规划了两个专门做数据清洗的MaxCompute project 。 当然 , 正如前文所述 , 读者需要按照实际规划的若干个MaxCompute project进行计算 。
Step1 和 Step2:按照3.3.1章节介绍的方法统计过去15天 , 平均每天8个MaxCompute project消耗的“cpu核数 *小时”的总量为:202 CPU核数 *小时 。
Step3:因为客户的业务系统空闲时间在晚上1点到早上6点 , 而且每天早上7点之前需要出每天数据批量任务的运行结果 。 在6点到7点之间 , 主要产出报表 , 因此只有5个小时可以运行批量任务 。
推荐阅读
- 华云大咖说 云计算云运维浅谈
- 消息|刘作虎:今年将在影像力投入巨大资源 力争做到全球第一
- 聚焦创新核心资源 环华西健康产业一体化综合科技创新服务平台“上线”
- 预报|自然资源部国家海洋环境预报中心推出小程序
- 资源|微软亚洲研究院发布开源平台“群策 MARO”用于多智能体资源调度优化
- 物流国家工程实验室快件物流资源共享服务应用示范基地在金昌揭牌
- 苏宁|玩出跨界营销新高度,苏宁资源开放赋能助力用户开启智慧生活
- 资源|微软亚研院开源MARO平台:解决多行业资源优化调度问题
- 大神使用Python爬取微信群里的百度云资源
- 浅谈共享经济