计算资源优化推荐

更新时间: 2023-09-20 15:39:55

MaxCompute为您提供计算资源优化功能,可基于实际作业请求量和资源配置期望,对包年包月一级Quota类型的计算资源生成更优的资源配置方案,帮助您进一步优化计算成本。本文为您介绍计算资源优化功能的实现原理与使用指导。

功能原理

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

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

  • 示例场景

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

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

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

    • 资源成本(目录价):月计算资源成本为1000CU*150元/CU=150,000元。

  • 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。

        • 资源成本(目录价):750CU*150元/CU+750CU*0.315元/CU/H*1H*30=119,587.5元,较优化前的月计算成本1000CU*150元/CU=150,000元,降低30,412.5元。

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

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. 进入资源优化页面。

    1. 登录MaxCompute控制台,在左上角选择地域后,在左侧导航栏,选择工作区 > 配额(Quota)管理

    2. Quota管理页面,单击目标一级Quota(目前仅支持包年包月Quota)操作列的资源优化,进入资源优化页面。

  2. 查看计算需求。

    成本优化页面,您可以查看指定包年包月一级Quota组日CU请求预测图,大致了解预测出来的每天所需资源量。

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

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

  3. 设置评估时间点。

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

    说明

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

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

    image.png

    配置示例:

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

  4. 单击现状方案评估,查看当前资源配置情况下,作业产出情况。

    说明

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

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

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

    优化目标时间点默认为评估时间点,您也可以配置为评估时间点之前的时间点,为作业产出留出部分冗余时间。

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

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

    重要

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

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

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

下一步

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

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

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

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

相关文档

更多关于MaxCompute成本优化的文档如下,您可参考进行MaxCompute整体成本优化。

阿里云首页 云原生大数据计算服务 MaxCompute 相关技术圈