全部產品
Search
文件中心

MaxCompute:計算成本最佳化

更新時間:Jul 02, 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. 您可結合最佳化方案的成本和最佳化目標時間,評估成本和最佳化後的時間點,參考最佳化方案購置訂用帳戶資源,逐步變更配置並關注變更配置後的作業運行結果。

相關文檔