当您需要在保证作业完成的前提下降低包年包月规格计算资源的费用或遇到基于现有资源配置作业完成时间达不到预期的情况时,MaxCompute为您提供计算成本优化功能,可基于实际作业请求量和资源配置期望,对包年包月一级Quota类型的计算资源生成更优的资源配置方案,也支持查看当前使用按量付费计算资源的项目调整为使用包年包月计算资源的资源配置推荐方案及效果推演,帮助您进一步优化计算成本和提高资源利用效率。本文为您介绍计算成本优化功能的实现原理与使用指导。
功能原理
以下以三个具体的案例,为您介绍MaxCompute生成资源配置优化方案的逻辑。同时您也可以了解相关术语,便于后续结合自身业务配置计算资源优化功能的相关参数。
包年包月计算资源变配推荐
示例场景
某公司购买了一定量的包年包月计算资源,当前的资源配置方案为预留1000CU的计算资源供作业使用,每天有两批作业固定运行在这些资源上:
第一批作业:在每天01:00前全部完成作业提交开始运行,希望在02:00前完成运行,当前资源配置下作业无法按预期时间完成。
第二批作业:在每天05:00前全部完成作业提交开始运行,希望在06:00前完成运行。
资源成本(目录价):月计算资源成本为1000CU*150元/CU=150,000元。
MaxCompute计算资源优化方案生成逻辑
根据示例场景的基本情况,得出日CU请求预测值。
根据两批作业历史30天的运行情况,预测出两批作业分完成运行所需要占用的资源(资源CU时),假设两个预测值分别为:
第一批作业:
占用1500CU资源,运行了1h,资源CU时=1500CU*1h=1500CU时。
第二批作业:
占用750CU资源,运行了1h,资源CU时=750CU*1h=750CU时。
根据两批作业期望完成运行的时间,设定两个评估时间点,分别为02:00和06:00。
评估基于当前资源配置现状,后续资源的消耗情况。
说明以下相关评估指标的数据主要通过CU时来进行预估,详细的计算逻辑可参见下文的相关术语中对应的术语。
第一批作业运行需占用1500CU时,资源预留了1000CU,全部运行完成第一批作业需运行1.5h,导致第一批作业在02:30才全部运行完成,作业延期30min。
第二批作业运行需占用750CU时,资源预留了1000CU,全部运行完成第二批作业需运行0.75h,即在05:45左右全部运行完成,资源有冗余,作业无延迟。
通过预估可知,当前资源配置方案下:
预测指标
计算公式
第一批作业
第二批作业
需求满足度
期望运行完成时间点:
资源已使用CU时/实际需要的CU时
66.67%
(资源不足)
100%
(资源冗余)
作业延迟
如果未在期望时间前完成运行:
实际完成时间 - 期望完成时间
30min
0min
根据产出目标(希望资源配置优化后作业完成运行的时间点),生成最优资源配置优化方案。
优化方案:固定预留750CU资源,并在01:00~02:00的时间范围内额外增加弹性预留750CU资源。
优化后的结果:
两批作业需求满足度为100%,作业延迟为0min。
资源成本(目录价):750CU*150元/CU+750CU*0.315元/CU/H*1H*30=119,587.5元,较优化前的月计算成本1000CU*150元/CU=150,000元,降低30,412.5元。
按量付费项目变配至新增包年包月Quota
示例场景
某公司开通了MaxCompute按量付费标准版,项目A每天有两批作业固定运行:
第一批作业:在每天01:00前全部完成作业提交开始运行,希望在02:00前完成运行。
第二批作业:在每天05:00前全部完成作业提交开始运行,希望在06:00前完成运行。
资源成本(目录价):按量付费的SQL作业按扫描量收费,平均每日作业扫描量大约为1200 GB,月计算成本为1200GB*0.3元/GB*30=10,800元。
现希望新购一个包年包月计算Quota用于运行项目A中的计算作业。
MaxCompute计算资源优化方案生成逻辑
根据示例场景的基本情况,得出日CU请求预测值。
根据两批作业历史30天的运行情况,预测出两批作业分完成运行所需要占用的资源(资源CU时),假设两个预测值分别为:
第一批作业:
占用100CU资源,运行了1h,资源CU时=100CU*1h=100CU时。
第二批作业:
占用50CU资源,运行了1h,资源CU时=50CU*1h=50CU时。
根据两批作业期望完成运行的时间,设定两个评估时间点,分别为02:00和06:00。并设置产出目标,默认为不接受延时。
根据产出目标(希望资源配置优化后作业完成运行的时间点),生成最优资源配置优化方案。
优化方案:固定预留50CU资源,并在01:00~02:00的时间范围内额外增加弹性预留50CU资源。
优化后的结果:
两批作业需求满足度为100%,作业延迟为0min。
资源成本(目录价):50CU*150元/CU+50CU*0.315元/CU/H*1H*30=7,972.5元,较优化前的月计算成本10800元,降低2,827.5元。
按量付费项目变配至已有包年包月Quota
示例场景
某公司购买了一定量的包年包月计算资源,当前的资源配置方案为预留1000CU的计算资源供作业使用,每天有两批作业固定运行在这些资源上:
第一批作业:在每天01:00前全部完成作业提交开始运行,希望在02:00前完成运行。
第二批作业:在每天05:00前全部完成作业提交开始运行,希望在06:00前完成运行。
资源成本(目录价):月计算资源成本为1000CU*150元/CU=150,000元。
同时公司也开通了MaxCompute按量付费标准版,项目A每天有两批作业固定在按量付费资源上运行:
第一批作业:在每天01:00前全部完成作业提交开始运行,希望在02:00前完成运行。
第二批作业:在每天05:00前全部完成作业提交开始运行,希望在06:00前完成运行。
资源成本(目录价):按量付费的SQL作业按扫描量收费,平均每日作业扫描量大约为4200 GB,月计算成本为4200GB*0.3元/GB*30=37,800元。
总的月计算资源成本为150,000+37,800=187,800元。
现希望将项目A中的计算作业也运行在已有的包年包月Quota上,同时要保证作业的完成时间。
MaxCompute计算资源优化方案生成逻辑
根据示例场景的基本情况,得出按量付费项目和包年包月Quota的日CU请求预测值并叠加。
根据包年包月Quota上的两批作业历史30天的运行情况,预测出两批作业分完成运行所需要占用的资源(资源CU时),假设两个预测值分别为:
第一批作业:
需要占用1500CU资源,运行了1h,资源CU时=1500CU*1h=1500CU时。
第二批作业:
需要占用750CU资源,运行了1h,资源CU时=750CU*1h=750CU时。
根据项目A的两批作业历史30天的运行情况,预测出两批作业分完成运行所需要占用的资源(资源CU时),假设两个预测值分别为:
第一批作业:
需要占用500CU资源运行1h,资源CU时=500CU*1h=500CU时。
第二批作业:
需要占用250CU资源运行1h,资源CU时=250CU*1h=250CU时。
根据两批作业期望完成运行的时间,设定两个评估时间点,分别为02:00和06:00。
评估基于当前包年包月Quota的资源配置现状,推导资源的消耗情况。
说明以下相关评估指标的数据主要通过CU时来进行预估,详细的计算逻辑可参见下文的相关术语中对应的术语。
按量付费项目A的作业并入后,第一批作业运行共需占用2000CU时,资源预留了1000CU,全部运行完成第一批作业需运行2h,导致第一批作业在03:00才全部运行完成,作业延期1h。
按量付费项目A的作业并入后,第二批作业运行共需占用1000CU时,资源预留了1000CU,全部运行完成第二批作业需运行1h,即在06:00左右全部运行完成,作业无延迟。
通过预估可知,当前资源配置方案下:
预测指标
计算公式
第一批作业
第二批作业
需求满足度
期望运行完成时间点:资源已使用CU时/实际需要的CU时
50%(资源不足)
100%
作业延迟
如果未在期望时间前完成运行:实际完成时间 - 期望完成时间
1h
0min
根据产出目标(希望资源配置优化后作业完成运行的时间点),生成最优资源配置优化方案。评估基于当前包年包月Quota的资源配置现状,推导资源的消耗情况。
优化方案:固定预留1000CU资源,并在01:00~02:00的时间范围内额外增加弹性预留1000CU资源。
优化后的结果:
两批作业需求满足度为100%,作业延迟为0min。
资源成本(目录价):1000CU*150元/CU+1000CU*0.315元/CU/H*1H*30=159,450元,较优化前的月计算成本187,800元,降低28,350元。
相关术语(单击展开查看术语)
使用限制
当前仅支持对包年包月一级Quota、按量付费标准版的计算资源进行分析与变配推荐。
说明MaxCompute的计算资源包括按量计费、包年包月、按时计费三种计费类型的资源,各资源的计费详情引导请参见计费项与计费方式概述。
您可以通过Quota管理功能对MaxCompute计算资源进行资源Quota的分级分配操作,详情请参见Quota管理(新版)。
当前仅发布华东1(杭州)、华东2(上海)、华北2(北京)、华北3(张家口)、华南1(深圳)、西南1(成都)、中国香港、新加坡、印度尼西亚(雅加达)、德国(法兰克福)地域,其他未发布的地域暂时无法使用此功能。
操作步骤
进入资源优化页面。
登录MaxCompute控制台,在左上角选择地域后,在左侧导航栏,选择成本管理 > 成本优化。
选择Quota。
在Quota名称后的下拉列表中选择Quota:
选择包年包月计算Quota表示期望查看已有包年包月计算资源变配推荐。
选择按量付费计算Quota表示期望查看当前使用按量付费计算资源的项目调整为使用包年包月计算资源的资源配置推荐方案及效果推演,按量付费标准版的Quota名称默认为默认后付费Quota_p。
(可选)选择变配项目。
MaxCompute推荐用户以项目粒度转换付费方式,当您在上一步选择按量付费计算Quota,你需要选择绑定按量付费标准版计算资源的项目作为变配项目。
说明此处项目列表仅包含符合变配准入门槛(近7日每日均有作业发起)的按量付费项目,项目列表数据统计截止至当日00:00:00。
为保证页面体验流畅,单次至多可以选择20个项目进行评估。
(默认选择)选择变配方式。
当您在第二步选择按量付费计算Quota,MaxCompute会默认为您选择变配方式:
已有预付费(包年包月)Quota,此次优化将结合您已有的包年包月Quota资源请求进行评估与变配推荐。
暂无预付费(包年包月)Quota,此次优化将依据您指定项目的资源请求推荐新购包年包月Quota的方案。
查看计算需求。
在计算成本优化页面,单击分析计算需求,您可以查看指定包年包月一级Quota组日CU请求预测图,大致了解预测出来的每天所需资源量。若变配方式为使用现有预付费一级Quota,您将查看到待变配项目与已有包年包月Quota的计算需求的累计预测。
说明如果您的历史作业请求数据较少或不具有规律性,将无法使用本功能。
日CU请求预测图中的预测值基于历史30天的作业请求数据,通过周期识别和分解算法演算而来。
设置评估时间点。
在设置评估时间点区域,选择评估时间点,您可以将作业的期望完成运行时间节点设置为评估时间点。
说明后续MaxCompute会结合此处设置的评估时间点和作业运行完成时间点,来评估不同资源配置方案下资源是否充足、作业是否会延期,详细逻辑请参见上文功能原理。
您可以选择至少1个、至多24个评估时间点,可选的时间评估点为整点时间和半点时间。
配置示例:
您希望所有作业在每天凌晨5点前都运行完成,您可以设置评估时间点为05:00。
后续会将前一天05:00:00至当天05:00:00前提交的所有作业视为一批作业,预测评估这批作业在当天05:00:00时,资源满足度与作业延迟情况。
您希望每天在凌晨2点前完成第一批作业,第二批作业在10点前全部运行完成,您可以设置2个评估时间点,如02:00与10:00,后续会将:
前一天10:00:00至当天02:00:00间提交的作业视为第一批作业,预测评估这批作业在当天02:00:00时,资源满足度与作业延迟情况。
当天02:00:00至当天10:00:00间提交的作业视为第二批作业,预测评估这批作业在当天10:00:00时,资源满足度与作业延迟情况。
(可选)单击现状方案评估,查看当前资源配置情况下,作业产出情况。如果变配方式为新增预付费一级Quota订单,则无需进行现状方案评估。
说明MaxCompute通过CU消耗模拟(现状评估)为您展示现状资源配置下作业产出情况,各指标的详细介绍和估算逻辑请参见上文功能原理。
您可重点查看资源满足度和作业延迟这两个指标数据,可直观看出当前资源配置方案下,资源和作业产出情况。
(可选)在设置产出目标区域,设置希望资源配置优化后作业完成运行的时间点。
优化目标时间点默认为评估时间点,您也可以配置为评估时间点之前的时间点,为作业产出留出部分冗余时间;或设置最大可接受作业延迟,允许作业产出延迟一段时间,以降低资源成本。
单击生成推荐方案,查看推荐资源配置下的优化效果及方案详情。
优化效果依旧以CU消耗模拟(推荐方案)的方式呈现,包含信息与现状评估图一致,您可以对比查看。
重要推荐方案为参考方案,无法保证百分之百实现优化目标,建议您依据实际情况逐渐变配,并关注变配后效果。
在推荐方案区域,单击下载,将推荐方案下载在本地。
建议您将推荐方案下载为
.xlsx
文件,便于留存对比不同推荐方案,然后依据您的业务需求,单击前往配置,在Quota管理页面进行配置。
下一步
生成优化方案后,您可以基于优化方案给的计算资源配置,评估优化后的计算资源成本。
月度相关计算资源成本(目录价)= 预付费CU购买量 * ¥150(每月) + 弹性预留CU量 * 弹性时间(小时)* ¥0.315(1CU每小时) * 30
更多关于包年包月资源的计费详情请参见计算费用(包年包月),实际价格以提交订单时页面价格为准。
您可结合优化方案的成本和优化目标时间,评估成本和优化后的时间点,参考优化方案购置包年包月资源,逐步变配并关注变配后的作业运行结果。
相关文档
使用计算资源优化功能的最佳实践:使用成本优化功能实现降本增效。
更多关于MaxCompute成本优化的文档如下,您可参考文档进行MaxCompute整体成本优化。