文档

弹性预留CU最佳实践

更新时间:

本文通过典型场景案例介绍如何选择并配置包年包月预留和弹性预留计算资源,为您提供降本增效的参考建议。

背景信息

MaxCompute原支持对包年包月预留计算资源进行自定义Quota切分以及分时配置(一天最多可分为三个时段),配置不同Quota在不同时段占用不同的预留CU量,极大提高了计算资源的使用率。MaxCompute新推出弹性预留CU,通过合理的评估后购买弹性预留CU结合全新的Quota计划、时间计划功能对计算资源进行更灵活的扩缩容,达到降本增效的目标。

注意事项

说明

本文所涉及的价格数据均为示例值,实际价格以产品购买页面为准。

  • 必须购买了包年包月预留资源才可配置使用弹性预留CU,同时可配置的弹性预留CU最大值等于包年包月预留CU量,CU量至少为50CU且步长为50。

  • 弹性预留CU单价为0.315元/CU/小时,包年包月规格预留计算资源单价为150元/CU/月,因此如果每日弹性预留CU使用超过16小时(16小时费用为1CU*0.315元/CU/小时*16时*30天=151.2元/CU/月),建议购买包年包月预留CU。

  • 弹性预留CU是按时按量后付费,即扩容成功开始计时,降配成功终止计时。持续超过一个小时会整点推送一次计量数据,账单为小时账单会延迟3个小时出账。

  • 以下典型案例的评估方式比较简单,在实际业务实施过程中,您需要综合多方面考虑,并实践调试一段时间以达到最佳配置。

典型场景一:资源闲置

夜间是生产项目的计算高峰期且有业务线对数据有强时间要求必须要某个时间点前产出结果,而白天计算请求量较低,但是为了保障夜间强需求的业务需求,购买MaxCompute包年包月规格时选择了较高水位的CU量,即白天时计算资源出现了明显的闲置情况。

此场景每日典型CU使用趋势图如下图,购买包年包月预留计算资源750CU,主要保障03:00-08:005个小时的计算高峰。月费用原价为750CU*150元/CU/月=112500元/月资源闲置

弹性预留CU方案:业务需求凌晨高峰点保障,次峰点也要保障。可以选择购买包年包月预留CU量为400和5个小时(03:00-08:00)弹性预留CU量为350的计算资源,趋势图如下所示。资源闲置_弹性弹性预留CU方案的月费用为400*150+350*0.315*5*30=76537.5元,对比不使用弹性预留CU方案每月可节省大约31%的费用。

使用弹性预留CU方案配置步骤如下。

  1. 登录MaxCompute控制台,在左上角选择地域。

  2. 在左侧导航栏,选择工作区 > 配额(Quota)管理

  3. Quota降配。

    1. Quota管理页面目标Quota的操作列,单击quota降配图标后选择降配

    2. 降配页面,将计算资源单元调整为400CU。

    3. 勾选服务协议后,单击立即购买

  4. 新增Quota计划。

    1. Quota管理页面目标Quota的操作列,单击Quota配置

    2. Quota配置页面,单击Quota计划

    3. Quota计划页签,单击添加计划

    4. 新建Quota计划对话框,自定义填写计划名称后,设置一级Quota的弹性预留CU350

    5. 设置二级Quota的弹性预留CU,将一级Quota的弹性预留CU量分配给二级Quota。

    6. 单击确定,完成新增Quota计划。

  5. 编辑时间计划。

    1. Quota配置页面,单击时间计划

    2. 时间计划页签,单击编辑时间计划

    3. 编辑时间计划对话框,设置如下时间计划。

      开始时间

      启用Quota计划

      00:00

      Default

      03:00

      上一步骤新增的Quota计划

      08:00

      Default

      Default计划的弹性预留CU量为0

    4. 单击确定,完成时间计划配置。

      需要日常关注Quota资源消耗情况,进行日常作业资源运维,观测业务情况随时调整弹性预留CU量。

典型场景二:低成本高保障的提速需求

目前购买的MaxCompute包年包月预留计算资源已经做了二级Quota拆分以及分时和优先级配置,CU资源全天资源使用率都很高, 业务方又对某些业务数据产出时间提出新要求,期望能提早产出以便可以发挥更多价值。

此场景每日典型CU使用趋势图如下图,购买包年包月预留计算资源750CU,全天资源使用率很高,水位基本达到100%,作业平均完成时长较长。有一份重要数据原来是7:00点前产出,现在业务方提出要求需要在6:00点前产出。此方案月费用原价为750CU*150元/CU/月=112500元/月场景2

弹性预留CU方案:从资源请求趋势来看,在3:00-7:00时资源请求量都超过了750CU,想要保障某些作业在6:00前产出,则需要在这个高峰期扩容。可以通过元数据(Information Schema)统计这份数据涉及作业消耗的CU分布做参考,上图3:008:00资源使用水位全满,因此统计3:007:004个小时的CU量总和。假设4个小时共使用CU量为2000CU,即需要500CU跑4小时,那么要提前1个小时完成作业每小时需要的CU量为2000/3= 667CU,考虑到作业间有依赖可能前面请求少后面请求多可以额外加些余量,可先尝试添加30%即CU量为667*1.3=867CU,最终需要3点开始扩容的CU量为867-500=367 。弹性预留CU量步长为50,因此弹性预留CU量可以先取350CU,持续3个小时,趋势图如下。

说明

您需要注意的是本案例中,预测需新增弹性预留CU量的方式是按理想的平均CU消耗来评估,您在实际业务使用中,可以参考用此方式评估,但是需要注意观察业务情况,按实际情况进行调试。

场景二弹性

如果为了保障这个业务购买包年包月预留CU,则每月需多花费350CU*150元/CU/月=52500元/月 ;弹性预留CU的方案则每月只需多花费 350CU*0.315元/CU/小时*3*30=9922.5元,即使用弹性预留CU方案每月可节省大约81%的费用。

使用弹性预留CU方案配置步骤如下。

说明

此配置步骤假设没有使用过分时配置或者使用过但是目前已重置。

  1. 登录MaxCompute控制台,在左上角选择地域。

  2. 在左侧导航栏,选择工作区 > 配额(Quota)管理

  3. 新增Quota计划。

    1. Quota管理页面目标Quota的操作列,单击Quota配置

    2. Quota配置页面,单击Quota计划

    3. Quota计划页签,单击添加计划

    4. 新建Quota计划对话框,自定义填写计划名称后,设置一级Quota的弹性预留CU350

    5. 设置二级Quota的弹性预留CU,将一级Quota的弹性预留CU量分配给二级Quota。

    6. 单击确定,完成新增Quota计划。

  4. 编辑时间计划。

    1. Quota配置页面,单击时间计划

    2. 时间计划页签,单击编辑时间计划

    3. 编辑时间计划对话框,设置如下时间计划。

      开始时间

      启用Quota计划

      00:00

      Default

      03:00

      上一步骤新增的Quota计划。

      06:00

      Default

      Default计划的弹性预留CU量为0

    4. 单击确定,完成时间计划配置。

      需要日常关注Quota资源消耗情况,进行日常作业资源运维,观测业务情况随时调整弹性预留CU量。

典型场景三:非预留资源无法保障业务高峰期

购买了MaxCompute包年包月预留计算资源和非预留计算资源,资源需求夜间高白天少, 非预留计算资源在作业请求量高峰期能抢占到的资源极少,通过非预留计算资源无法提升业务高峰时的资源满足率从而提升业务产出速度。

此场景每日典型CU使用趋势图如下,购买包年包月预留计算资源750CU,主要保障3:008:005个小时的计算高峰,同时购买非预留计算资源300CU想在高峰期能提速。月费用原价为750CU*150元/CU/月+300CU*40元/月=124500元场景3上图中实际非预留计算资源在业务高峰期没有能抢占到资源,而后期没有请求,所以更用不上,无法达到预期。同时10:00后长时间大量资源闲置,实际使用量不超过400CU。

弹性预留CU方案:从资源使用趋势看00:003:003个小时750CU可以满足业务需求但水位很高,3:008:009:0010:00合计6个小时750CU不满足业务需求,10:00后400CU即可满足业务需求。使用750CU的时间超过8个小时,弹性预留CU每日超过8小时月费用不划算,因此方案如下。

  • 包年包月预留计算资源保留购买750CU。

  • 非预留计算资源更换为弹性预留CU,并考虑在3:007:00间4个小时进行加速。通过非预留计算资源费用进行换算:非预留计算资源费用为300*40=12000元/月,则弹性预留CU量为12000/30/4/0.315=318CU,弹性预留CU量步长为50,则最终弹性预留CU量选择300CU,既能在此时间段获得独享300CU,还能节省费用。

弹性预留CU方案趋势图如下。场景3弹性如上图在不增加预算的情况下,3:007:00间通过弹性预留CU提升了这个时段的资源满足率从而提升作业速度,部分业务提前完成。

使用弹性预留CU方案配置步骤如下。

说明

此配置步骤假设没有使用过分时逻辑或者使用过但是目前已全部重新配置。

  1. 登录MaxCompute控制台,在左上角选择地域。

  2. 在左侧导航栏,选择工作区 > 配额(Quota)管理

  3. 新增Quota计划。

    1. Quota管理页面目标Quota的操作列,单击Quota配置

    2. Quota配置页面,单击Quota计划

    3. Quota计划页签,单击添加计划

    4. 新建Quota计划对话框,自定义填写计划名称后,设置一级Quota的弹性预留CU150

    5. 设置二级Quota的弹性预留CU,将一级Quota的弹性预留CU量分配给二级Quota。

    6. 单击确定,完成新增Quota计划。

  4. 编辑时间计划。

    1. Quota配置页面,单击时间计划

    2. 时间计划页签,单击编辑时间计划

    3. 编辑时间计划对话框,设置如下时间计划。

      开始时间

      启用Quota计划

      00:00

      Default

      03:00

      上一步骤新增的Quota计划。

      07:00

      Default

      Default计划的弹性预留CU量为0

    4. 单击确定,完成时间计划配置。

      需要日常关注Quota资源消耗情况,进行日常作业资源运维,观测业务情况随时调整弹性预留CU量。

  • 本页导读 (1)