弹性预留CU最佳实践

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

背景信息

MaxCompute原支持对包年包月预留计算资源进行自定义Quota切分以及分时配置(一天最多可分为三个时段),配置不同Quota在不同时段占用不同的预留CU量,极大提高了计算资源的使用率。

MaxCompute新推出弹性预留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使用方案

此场景每日典型CU使用趋势如下图,购买包年包月预留计算资源750CU,主要保障03:00-08:005个小时的计算高峰。

月费用原价为750CU*150元/CU/月=112500元/月资源闲置

弹性预留CU方案

业务需求凌晨高峰点保障,次峰点也要保障。可以选择购买包年包月预留CU量为4005个小时(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降配。

    对于MaxCompute包年包月资源,可以按照如下步骤进行资源降配操作。

    1. 配额(Quota)管理页面,单击操作列的image..png图标,选择降配

    2. 降配页面,配置降配后所需的CU数量,并勾选产品服务协议服务等级协议,单击立即购买,完成降配操作。

      更多降配规则信息,请参见退订规则说明

      操作成功后,您可以进入阿里云订单列表,查看具体的降配订单情况。

      说明
      • 降配是直接扣减默认配额CU量,因此降配前,可以通过MaxCompute控制台进行操作(减少或删除自定义配额的最小值),以确保默认配额的最小值至少满足需降配的数量+1CU量。详情请参见配置Quota

      • 如果您是在升级后马上执行了降配,可能会出现少退金额的情况,原因有如下两种:

        • 之前的订单享受了折扣。例如购买时长为1年,由于1年是享受85折的,如果原价是1000元,实际只需支付850元即可。在降配计算退款的时候会基于850元计算。

        • 之前支付的订单使用了代金券。降配时,老配置的退款只能退现金金额,不包括代金券金额。

      • 包年包月规格可以降配,退款详情请参见资源释放与服务注销

  4. 新增配置方案。

    对于MaxCompute包年包月资源,可以按照如下步骤新增Quota配置方案。

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

    2. Quota配置页面,单击伸缩配置

    3. 伸缩配置页签,单击页面左侧新增配置方案

    4. 在弹出的新增配置方案对话框内,填写自定义配置方案名称,并为一级和二级Quota分别设置弹性预留CU

    5. 单击确定,完成新增Quota配置方案。

    说明

    本示例中一级Quota弹性预留CU350

  5. 编辑时间计划。

    1. 伸缩配置页签,单击页面右侧编辑时间计划

    2. 单击新增生效时间段,分别选择生效开始时间(UTC+8)配置方案计划。时间计划示例可参考下表:

      生效开始时间(UTC+8)

      配置方案计划

      00

      Default

      30

      上一步骤新增的Quota配置方案

      80

      Default

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

    3. 单击保存,完成时间计划配置。

    说明

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

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

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

典型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,即需要500CU4小时,那么要提前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. 新增配置方案。

    对于MaxCompute包年包月资源,可以按照如下步骤新增Quota配置方案。

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

    2. Quota配置页面,单击伸缩配置

    3. 伸缩配置页签,单击页面左侧新增配置方案

    4. 在弹出的新增配置方案对话框内,填写自定义配置方案名称,并为一级和二级Quota分别设置弹性预留CU

    5. 单击确定,完成新增Quota配置方案。

    说明

    本示例中一级Quota弹性预留CU350

  4. 编辑时间计划。

    1. 伸缩配置页签,单击页面右侧编辑时间计划

    2. 单击新增生效时间段,分别选择生效开始时间(UTC+8)配置方案计划。时间计划示例可参考下表:

      生效开始时间(UTC+8)

      配置方案计划

      00

      Default

      30

      上一步骤新增的Quota配置方案

      60

      Default

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

    3. 单击保存,完成时间计划配置。

      说明

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

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

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

典型CU使用方案

此场景每日典型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:00400CU即可满足业务需求。

使用750CU的时间超过8个小时,弹性预留CU每日超过8小时月费用不划算,因此方案如下:

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

  • 非预留计算资源更换为弹性预留CU,并考虑在3:007:004个小时进行加速。通过非预留计算资源费用进行换算:非预留计算资源费用为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. 新增配置方案。

    对于MaxCompute包年包月资源,可以按照如下步骤新增Quota配置方案。

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

    2. Quota配置页面,单击伸缩配置

    3. 伸缩配置页签,单击页面左侧新增配置方案

    4. 在弹出的新增配置方案对话框内,填写自定义配置方案名称,并为一级和二级Quota分别设置弹性预留CU

    5. 单击确定,完成新增Quota配置方案。

    说明

    本示例中一级Quota弹性预留CU150

  4. 编辑时间计划。

    1. 伸缩配置页签,单击页面右侧编辑时间计划

    2. 单击新增生效时间段,分别选择生效开始时间(UTC+8)配置方案计划。时间计划示例可参考下表:

      生效开始时间(UTC+8)

      配置方案计划

      00

      Default

      30

      上一步骤新增的Quota配置方案

      70

      Default

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

    3. 单击保存,完成时间计划配置。

      说明

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