全部产品
Search
文档中心

云原生大数据计算服务 MaxCompute:计算成本优化

更新时间:Jul 01, 2024

当您需要在保证作业完成的前提下降低包年包月规格计算资源的费用或遇到基于现有资源配置作业完成时间达不到预期的情况时,MaxCompute为您提供计算成本优化功能,可基于实际作业请求量和资源配置期望,对包年包月一级Quota类型的计算资源生成更优的资源配置方案,也支持查看当前使用按量付费计算资源的项目调整为使用包年包月计算资源的资源配置推荐方案及效果推演,帮助您进一步优化计算成本和提高资源利用效率。本文为您介绍计算成本优化功能的实现原理与使用指导。

功能原理

以下以三个具体的案例,为您介绍MaxCompute生成资源配置优化方案的逻辑。同时您也可以了解相关术语,便于后续结合自身业务配置计算资源优化功能的相关参数。

包年包月计算资源变配推荐

  • 示例场景

    某公司购买了一定量的包年包月计算资源,当前的资源配置方案为预留1000CU的计算资源供作业使用,每天有两批作业固定运行在这些资源上:

    • 第一批作业:在每天01:00前全部完成作业提交开始运行,希望在02:00前完成运行,当前资源配置下作业无法按预期时间完成。

    • 第二批作业:在每天05:00前全部完成作业提交开始运行,希望在06:00前完成运行。

    • 资源成本(目录价):月计算资源成本为1,000 CU*22.0 USD/CU=22,000 USD

  • MaxCompute计算资源优化方案生成逻辑

    1. 根据示例场景的基本情况,得出日CU请求预测值。

      image.png

      1. 根据两批作业历史30天的运行情况,预测出两批作业分完成运行所需要占用的资源(资源CU时),假设两个预测值分别为:

        • 第一批作业:

          占用1500CU资源,运行了1h,资源CU时=1500CU*1h=1500CU时。

        • 第二批作业:

          占用750CU资源,运行了1h,资源CU时=750CU*1h=750CU时。

      2. 根据两批作业期望完成运行的时间,设定两个评估时间点,分别为02:00和06:00。

    2. 评估基于当前资源配置现状,后续资源的消耗情况。

      说明

      以下相关评估指标的数据主要通过CU时来进行预估,详细的计算逻辑可参见下文的相关术语中对应的术语。

      image.png

      • 第一批作业运行需占用1500CU时,资源预留了1000CU,全部运行完成第一批作业需运行1.5h,导致第一批作业在02:30才全部运行完成,作业延期30min

      • 第二批作业运行需占用750CU时,资源预留了1000CU,全部运行完成第二批作业需运行0.75h,即在05:45左右全部运行完成,资源有冗余,作业无延迟

        通过预估可知,当前资源配置方案下:

        预测指标

        计算公式

        第一批作业

        第二批作业

        需求满足度

        期望运行完成时间点:

        资源已使用CU时/实际需要的CU时

        66.67%

        (资源不足)

        100%

        (资源冗余)

        作业延迟

        如果未在期望时间前完成运行:

        实际完成时间 - 期望完成时间

        30min

        0min

    3. 根据产出目标(希望资源配置优化后作业完成运行的时间点),生成最优资源配置优化方案。

      image.png

      • 优化方案:固定预留750CU资源,并在01:00~02:00的时间范围内额外增加弹性预留750CU资源。

      • 优化后的结果:

        • 两批作业需求满足度为100%,作业延迟为0min。

        • 资源成本(目录价):750 CU*22.0 USD/CU+750 CU × 0.0488 USD/CU/H*1 H*30=17,598 USD,较优化前的月计算成本1,000 CU*22.0 USD/CU=22,000 USD,降低4,402 USD

按量付费项目变配至新增包年包月Quota

  • 示例场景

    某公司开通了MaxCompute按量付费标准版,项目A每天有两批作业固定运行:

    • 第一批作业:在每天01:00前全部完成作业提交开始运行,希望在02:00前完成运行。

    • 第二批作业:在每天05:00前全部完成作业提交开始运行,希望在06:00前完成运行。

    • 资源成本(目录价):按量付费的SQL作业按扫描量收费,平均每日作业扫描量大约为1200 GB,月计算成本为1200 GB*0.0438 USD/GB*30=1,576.8 USD

    现希望新购一个包年包月计算Quota用于运行项目A中的计算作业。

  • MaxCompute计算资源优化方案生成逻辑

    1. 根据示例场景的基本情况,得出日CU请求预测值。

      1. 根据两批作业历史30天的运行情况,预测出两批作业分完成运行所需要占用的资源(资源CU时),假设两个预测值分别为:

        • 第一批作业:

          占用100CU资源,运行了1h,资源CU时=100CU*1h=100CU时。

        • 第二批作业:

          占用50CU资源,运行了1h,资源CU时=50CU*1h=50CU时。

      2. 根据两批作业期望完成运行的时间,设定两个评估时间点,分别为02:00和06:00。并设置产出目标,默认为不接受延时。

    2. 根据产出目标(希望资源配置优化后作业完成运行的时间点),生成最优资源配置优化方案。image

      • 优化方案:固定预留50CU资源,并在01:00~02:00的时间范围内额外增加弹性预留50CU资源。

      • 优化后的结果:

        • 两批作业需求满足度为100%,作业延迟为0min。

        • 资源成本(目录价):50CU*22.0 USD/CU+50CU* 0.0488 USD/CU/H*1H*30=1,173.2 USD,较优化前的月计算成本1,576.8 USD,降低403.6 USD

按量付费项目变配至已有包年包月Quota

  • 示例场景

    某公司购买了一定量的包年包月计算资源,当前的资源配置方案为预留1000CU的计算资源供作业使用,每天有两批作业固定运行在这些资源上:

    • 第一批作业:在每天01:00前全部完成作业提交开始运行,希望在02:00前完成运行。

    • 第二批作业:在每天05:00前全部完成作业提交开始运行,希望在06:00前完成运行。

    • 资源成本(目录价):月计算资源成本为1000CU*22.0 USD/CU=22,000 USD

    同时公司也开通了MaxCompute按量付费标准版,项目A每天有两批作业固定在按量付费资源上运行:

    • 第一批作业:在每天01:00前全部完成作业提交开始运行,希望在02:00前完成运行。

    • 第二批作业:在每天05:00前全部完成作业提交开始运行,希望在06:00前完成运行。

    • 资源成本(目录价):按量付费的SQL作业按扫描量收费,平均每日作业扫描量大约为4200 GB,月计算成本为4200GB*0.0438 USD/GB*30=5,518.8 USD

    总的月计算资源成本为22,000+5,518.8=27,518.8 USD

    现希望将项目A中的计算作业也运行在已有的包年包月Quota上,同时要保证作业的完成时间。

  • MaxCompute计算资源优化方案生成逻辑

    1. 根据示例场景的基本情况,得出按量付费项目和包年包月Quota的日CU请求预测值并叠加。

      1. 根据包年包月Quota上的两批作业历史30天的运行情况,预测出两批作业分完成运行所需要占用的资源(资源CU时),假设两个预测值分别为:

        • 第一批作业:

          需要占用1500CU资源,运行了1h,资源CU时=1500CU*1h=1500CU时。

        • 第二批作业:

          需要占用750CU资源,运行了1h,资源CU时=750CU*1h=750CU时。

      2. 根据项目A的两批作业历史30天的运行情况,预测出两批作业分完成运行所需要占用的资源(资源CU时),假设两个预测值分别为:

        • 第一批作业:

          需要占用500CU资源运行1h,资源CU时=500CU*1h=500CU时。

        • 第二批作业:

          需要占用250CU资源运行1h,资源CU时=250CU*1h=250CU时。

      3. 根据两批作业期望完成运行的时间,设定两个评估时间点,分别为02:00和06:00。image

    2. 评估基于当前包年包月Quota的资源配置现状,推导资源的消耗情况。

      说明

      以下相关评估指标的数据主要通过CU时来进行预估,详细的计算逻辑可参见下文的相关术语中对应的术语。

      image

      • 按量付费项目A的作业并入后,第一批作业运行共需占用2000CU时,资源预留了1000CU,全部运行完成第一批作业需运行2h,导致第一批作业在03:00才全部运行完成,作业延期1h

      • 按量付费项目A的作业并入后,第二批作业运行共需占用1000CU时,资源预留了1000CU,全部运行完成第二批作业需运行1h,即在06:00左右全部运行完成,作业无延迟

      通过预估可知,当前资源配置方案下:

      预测指标

      计算公式

      第一批作业

      第二批作业

      需求满足度

      期望运行完成时间点:资源已使用CU时/实际需要的CU时

      50%(资源不足)

      100%

      作业延迟

      如果未在期望时间前完成运行:实际完成时间 - 期望完成时间

      1h

      0min

    3. 根据产出目标(希望资源配置优化后作业完成运行的时间点),生成最优资源配置优化方案。评估基于当前包年包月Quota的资源配置现状,推导资源的消耗情况。image

      • 优化方案:固定预留1000CU资源,并在01:00~02:00的时间范围内额外增加弹性预留1000CU资源。

      • 优化后的结果:

        • 两批作业需求满足度为100%,作业延迟为0min。

        • 资源成本(目录价):1000CU CU*22.0 USD/CU+1000 CU × 0.0488 USD/CU/H*1 H*30=23,464 USD,较优化前的月计算成本27,518.8 USD,降低4,054.8 USD

相关术语(单击展开查看术语)

MaxCompute的计算资源优化功能是基于您实际的作业请求量对资源配置的期望来生成资源配置优化方案的,在了解功能原理前,建议您先了解相关的术语。

  • 资源通用术语:

    术语

    术语说明

    CU

    资源的基本单位定义为CU(Compute Unit),1 CU=4 GB内存+1 CPU Core

    CU时

    用于定义资源用量,计算公式为:资源占用CU数*资源占用时长

  • 作业请求量相关术语:

    说明

    MaxCompute使用阿里云和达摩院自研的周期识别和分解算法,依据指定包年包月一级Quota组历史30天的实际作业请求数据,充分考虑其中的周期性和波动性,对不同资源配置方案下的计算资源CU数和运行时间进行预估。

    术语

    术语说明

    上述示例中的取值

    CU配置

    当前资源配置下的预留CU和弹性预留CU之和。

    1000CU

  • 资源配置期望相关术语:

    术语

    术语说明

    上述示例中的取值

    评估时间点

    可视为已提交作业的期望完成运行的时间节点。

    • 通过对比评估时间点和作业实际运行完成时间预测值,可了解在不同资源配置方案下作业是否会延期。

    • 如果您的作业可分为多个批次集中运行,且期望在不同的时间节点前完成运行,您也可以设置多个评估时间点。

    • 第一批作业:02:00

    • 第二批作业:06:00

    满足CU

    用于定义在评估时间点前提交的作业,在评估时间点前消耗的资源(CU时)。

    计算公式为:

    满足CU=已占用资源CU*评估时间点前的运行时长

    • 第一批作业:1000CU时

    • 第二批作业:750CU时

    未满足CU

    用于定义在评估时间点前提交的作业,在评估时间点后消耗的资源(CU时)。

    未满足CU=已占用资源CU*评估时间点后的运行时长

    • 第一批作业:500CU时

    • 第二批作业:0CU时

    需求满足度

    用于定义在评估时间点前提交的作业,在评估时间点前的完成情况。

    计算公式为:

    需求满足度=满足CU / (满足CU+未满足CU)

    • 第一批作业:66.67%

    • 第二批作业:100%

    作业延迟

    用于定义评估时间点前提交的作业全部运行完成时,是否超出了预期时间。

    计算公式为:

    作业延迟=作业实际运行完成时间预测值 - 评估时间点

    • 第一批作业:30min

    • 第二批作业:0min

  • 资源配置优化方案相关术语:

    术语

    术语说明

    上述示例中的取值

    产出目标

    希望资源配置优化后作业完成运行的时间点,默认为评估时间点,您也可以配置为评估时间点之前的时间点,为作业产出留出部分冗余时间;或设置最大可接受作业延迟,允许作业产出延迟一段时间,以降低资源成本。

    • 第一批作业:02:00

    • 第二批作业:06:00

使用限制

  • 当前仅支持对包年包月一级Quota、按量付费标准版的计算资源进行分析与变配推荐。

    说明
    • MaxCompute的计算资源包括按量计费、包年包月、按时计费三种计费类型的资源,各资源的计费详情引导请参见计费项与计费方式概述

    • 您可以通过Quota管理功能对MaxCompute计算资源进行资源Quota的分级分配操作,详情请参见Quota管理(新版)

  • 当前仅发布华东1(杭州)、华东2(上海)、华北2(北京)、华北3(张家口)、华南1(深圳)、西南1(成都)、中国香港、新加坡、印度尼西亚(雅加达)、德国(法兰克福)地域,其他未发布的地域暂时无法使用此功能。

操作步骤

  1. 进入资源优化页面。

    登录MaxCompute控制台,在左上角选择地域后,在左侧导航栏,选择成本管理 > 成本优化

  2. 选择Quota。

    Quota名称后的下拉列表中选择Quota:

    • 选择包年包月计算Quota表示期望查看已有包年包月计算资源变配推荐。

    • 选择按量付费计算Quota表示期望查看当前使用按量付费计算资源的项目调整为使用包年包月计算资源的资源配置推荐方案及效果推演,按量付费标准版的Quota名称默认为默认后付费Quota_p

  3. (可选)选择变配项目。

    MaxCompute推荐用户以项目粒度转换付费方式,当您在上一步选择按量付费计算Quota,你需要选择绑定按量付费标准版计算资源的项目作为变配项目。

    说明

    此处项目列表仅包含符合变配准入门槛(近7日每日均有作业发起)的按量付费项目,项目列表数据统计截止至当日00:00:00。

    为保证页面体验流畅,单次至多可以选择20个项目进行评估。

  4. (默认选择)选择变配方式。

    当您在第二步选择按量付费计算Quota,MaxCompute会默认为您选择变配方式:

    • 已有预付费(包年包月)Quota,此次优化将结合您已有的包年包月Quota资源请求进行评估与变配推荐。

    • 暂无预付费(包年包月)Quota,此次优化将依据您指定项目的资源请求推荐新购包年包月Quota的方案。

  5. 查看计算需求。

    计算成本优化页面,单击分析计算需求,您可以查看指定包年包月一级Quota组日CU请求预测图,大致了解预测出来的每天所需资源量。若变配方式为使用现有预付费一级Quota,您将查看到待变配项目与已有包年包月Quota的计算需求的累计预测。

    说明
    • 如果您的历史作业请求数据较少或不具有规律性,将无法使用本功能。

    • 日CU请求预测图中的预测值基于历史30天的作业请求数据,通过周期识别和分解算法演算而来。

  6. 设置评估时间点。

    设置评估时间点区域,选择评估时间点,您可以将作业的期望完成运行时间节点设置为评估时间点

    说明

    后续MaxCompute会结合此处设置的评估时间点和作业运行完成时间点,来评估不同资源配置方案下资源是否充足、作业是否会延期,详细逻辑请参见上文功能原理

    您可以选择至少1个、至多24个评估时间点,可选的时间评估点为整点时间和半点时间。image

    配置示例:

    • 您希望所有作业在每天凌晨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时,资源满足度与作业延迟情况。

  7. (可选)单击现状方案评估,查看当前资源配置情况下,作业产出情况。如果变配方式新增预付费一级Quota订单,则无需进行现状方案评估。

    说明

    MaxCompute通过CU消耗模拟(现状评估)为您展示现状资源配置下作业产出情况,各指标的详细介绍和估算逻辑请参见上文功能原理

    您可重点查看资源满足度作业延迟这两个指标数据,可直观看出当前资源配置方案下,资源和作业产出情况。

  8. (可选)在设置产出目标区域,设置希望资源配置优化后作业完成运行的时间点。

    优化目标时间点默认为评估时间点,您也可以配置为评估时间点之前的时间点,为作业产出留出部分冗余时间;或设置最大可接受作业延迟,允许作业产出延迟一段时间,以降低资源成本。

  9. 单击生成推荐方案,查看推荐资源配置下的优化效果及方案详情。

    优化效果依旧以CU消耗模拟(推荐方案)的方式呈现,包含信息与现状评估图一致,您可以对比查看。

    重要

    推荐方案为参考方案,无法保证百分之百实现优化目标,建议您依据实际情况逐渐变配,并关注变配后效果。

  10. 推荐方案区域,单击下载,将推荐方案下载在本地。

    建议您将推荐方案下载为.xlsx文件,便于留存对比不同推荐方案,然后依据您的业务需求,单击前往配置,在Quota管理页面进行配置。

下一步

  1. 生成优化方案后,您可以基于优化方案给的计算资源配置,评估优化后的计算资源成本。

    月度相关计算资源成本(目录价)= 预付费CU购买量 * 22.0 USD(每月) + 弹性预留CU量 * 弹性时间(小时)* 0.0488 USD(1CU每小时) * 30

    更多关于包年包月资源的计费详情请参见计算费用,实际价格以提交订单时页面价格为准。

  2. 您可结合优化方案的成本和优化目标时间,评估成本和优化后的时间点,参考优化方案购置包年包月资源,逐步变配并关注变配后的作业运行结果。

相关文档