本文介紹計算成本最佳化功能的實現原理與使用指導。MaxCompute提供計算成本最佳化功能,當需要在保證作業完成的前提下降低訂用帳戶規格計算資源的費用或遇到基於現有資源配置作業完成時間達不到預期的情況時,可基於實際作業請求量和資源配置期望,對訂用帳戶一級Quota類型的計算資源產生更優的資源配置方案。也支援查看當前使用隨用隨付計算資源的專案調整為使用訂用帳戶計算資源的資源配置推薦方案及效果推演,進一步最佳化計算成本和提高資源利用效率。
功能原理
以下以三個具體的案例介紹MaxCompute產生資源配置最佳化方案的邏輯。
訂用帳戶計算資源變更配置推薦
樣本情境
某公司購買了一定量的訂用帳戶計算資源,當前的資源配置方案為預留1000CU的計算資源供作業使用,每天有兩批作業固定運行在這些資源上:
第一批作業:在每天01:00前全部完成作業提交開始運行,希望在02:00前完成運行,當前資源配置下作業無法按預期時間完成。
第二批作業:在每天05:00前全部完成作業提交開始運行,希望在06:00前完成運行。
資源成本(目錄價):月計算資源成本為,1000 CU × 22.0 USD/CU=22,000 USD。
MaxCompute計算資源最佳化方案產生邏輯
根據樣本情境的基本情況,得出日CU請求預測值。

根據兩批作業歷史30天的運行情況,預測出兩批作業分完成運行所需要佔用的資源(資源CU時),假設兩個預測值分別為:
第一批作業:
佔用1500CU資源,運行了1h,資源CU時=1500CU × 1h=1500CU時。
第二批作業:
佔用750CU資源,運行了1h,資源CU時=750CU×1h=750CU時。
根據兩批作業期望完成啟動並執行時間,設定兩個評估時間點,分別為02:00和06:00。
評估基於當前資源配置現狀,後續資源的消耗情況。
說明以下相關評估指標的資料主要通過CU時來進行預估,詳細的計算邏輯可參見下文的相關術語中對應的術語。

第一批作業運行需佔用1500CU時,資源預留了1000CU,全部運行完成第一批作業需運行1.5h,導致第一批作業在02:30才全部運行完成,作業延期30min。
第二批作業運行需佔用750CU時,資源預留了1000CU,全部運行完成第二批作業需運行0.75h,即在05:45左右全部運行完成,資源有冗餘,作業無延遲。
通過預估可知,當前資源配置方案下:
預測指標
計算公式
第一批作業
第二批作業
需求滿足度
期望運行完成時間點:
資源已使用CU時/實際需要的CU時66.67%
(資源不足)
100%
(資源冗餘)
作業延遲
如果未在期望時間前完成運行:
實際完成時間 - 期望完成時間30min
0min
根據產出目標(希望資源配置最佳化後作業完成啟動並執行時間點),產生最優資源配置最佳化方案。

最佳化方案:固定預留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計算資源最佳化方案產生邏輯
根據樣本情境的基本情況,得出日CU請求預測值。
根據兩批作業歷史30天的運行情況,預測出兩批作業分完成運行所需要佔用的資源(資源CU時),假設兩個預測值分別為:
第一批作業:
佔用100CU資源,運行了1小時,資源CU時=100CU×1h=100CU時。
第二批作業:
佔用50CU資源,運行了1h,資源CU時=50CU × 1h=50CU時。
根據兩批作業期望完成啟動並執行時間,設定兩個評估時間點,分別為02:00和06:00。並設定產出目標,預設為不接受延時。
根據產出目標(希望資源配置最佳化後作業完成啟動並執行時間點),產生最優資源配置最佳化方案。

最佳化方案:固定預留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計算資源最佳化方案產生邏輯
根據樣本情境的基本情況,得出隨用隨付專案和訂用帳戶Quota的日CU請求預測值併疊加。
根據訂用帳戶Quota上的兩批作業歷史30天的運行情況,預測出兩批作業分別完成運行所需要佔用的資源(資源CU時),假設兩個預測值分別為:
第一批作業:
需要佔用1500CU資源,運行了1h,資源CU時=1500CU×1h=1500CU時。
第二批作業:
需要佔用750CU資源,運行了1h,資源CU時=750CU×1h=750CU時。
根據專案A的兩批作業歷史30天的運行情況,預測出兩批作業分別完成運行所需要佔用的資源(資源CU時),假設兩個預測值分別為:
第一批作業:
需要佔用500CU資源運行1h,資源CU時=500CU×1h=500CU時。
第二批作業:
需要佔用250CU資源運行1h,資源CU時=250CU×1h=250CU時。
根據兩批作業期望完成啟動並執行時間,設定兩個評估時間點,分別為02:00和06:00。

評估基於當前訂用帳戶Quota的資源配置現狀,推導資源的消耗情況。
說明以下相關評估指標的資料主要通過CU時來進行預估,詳細的計算邏輯可參見下文的相關術語中對應的術語。

隨用隨付專案A的作業併入後,第一批作業運行共需佔用2000CU時,資源預留了1000CU,全部運行完成第一批作業需運行2h,導致第一批作業在03:00才全部運行完成,作業延期1h。
隨用隨付專案A的作業併入後,第二批作業運行共需佔用1000CU時,資源預留了1000CU,全部運行完成第二批作業需運行1h,即在06:00左右全部運行完成,作業無延遲。
通過預估可知,當前資源配置方案下:
預測指標
計算公式
第一批作業
第二批作業
需求滿足度
期望運行完成時間點:資源已使用CU時/實際需要的CU時
50%(資源不足)
100%
作業延遲
如果未在期望時間前完成運行:實際完成時間 - 期望完成時間
1h
0min
根據產出目標(希望資源配置最佳化後作業完成啟動並執行時間點),產生最優資源配置最佳化方案。評估基於當前訂用帳戶Quota的資源配置現狀,推導資源的消耗情況。

最佳化方案:固定預留1000CU資源,並在01:00~02:00的時間範圍內額外增加彈性預留1000CU資源。
最佳化後的結果:
兩批作業需求滿足度為100%,作業延遲為0min。
資源成本(目錄價):1000 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。
相關術語(單擊展開查看術語)
使用限制
當前僅支援對訂用帳戶一級Quota、隨用隨付標準版的計算資源進行分析與變更配置推薦。
說明MaxCompute的計算資源套件括隨用隨付、訂用帳戶、按時計費三種計費類型的資源,各資源的計費詳情指引請參見計費項目與計費方式。
您可以通過Quota管理功能對MaxCompute計算資源進行資源Quota的分級分配操作,詳情請參見計算資源-Quota管理。
當前僅發布華東1(杭州)、華東2(上海)、華北2(北京)、華北3(張家口)、華南1(深圳)、西南1(成都)、中國香港、新加坡、印尼(雅加達)、德國(法蘭克福)地區,其他未發布的地區暫時無法使用此功能。
操作步驟
登入MaxCompute控制台,在左上方選擇地區。
在左側導覽列,選擇。
在智能优化计算资源配置优化頁面,Quota名称的下拉式清單中選擇Quota。
若選擇訂用帳戶計算Quota,則表示期望查看已有訂用帳戶計算資源變更配置推薦。
若選擇隨用隨付計算Quota,則表示期望查看當前使用隨用隨付計算資源的專案調整為使用訂用帳戶計算資源的資源配置推薦方案及效果推演,隨用隨付標準版的Quota名稱預設為PayAsYouGoQuota_p。
若選擇隨用隨付計算Quota,需要選擇綁定隨用隨付標準版計算資源的專案作為變更配置專案。
專案列表僅包含符合變更配置准入門檻,即近7日每日均有作業發起的隨用隨付專案,專案列表資料統計截止至當日00:00:00。
為保證頁面體驗流暢,單次至多可以選擇20個專案進行評估。
变配方式預設選擇。
已有預付費(訂用帳戶)Quota,此次最佳化將結合已有的訂用帳戶Quota資源請求評估與推薦變更配置。
暫無預付費(訂用帳戶)Quota,此次最佳化將依據指定專案的資源請求推薦新購訂用帳戶Quota。
在智能优化计算资源配置优化頁面,單擊分析计算需求。
可以查看指定訂用帳戶一級Quota組日CU請求預測圖,瞭解每天所需資源預測量。若变配方式為使用現有預付費一級Quota,可以查看待變更配置專案與已有訂用帳戶Quota的計算需求的累計預測。
如果歷史作業請求資料較少或不具有規律性,將無法使用本功能。
日CU請求預測圖中的預測值基於歷史30天的作業請求資料,通過周期識別和分解演算法演算而來。
在设置评估时间点地區,將作業的期望完成已耗用時間節點設定為評估時間點。時間點可以选择整点、选择半点或取消选择。
後續MaxCompute會結合此處設定的評估時間點和作業運行完成時間點,來評估不同資源配置方案下資源是否充足、作業是否會延期,詳細邏輯請參見上文功能原理。
配置樣本:
希望所有作業在每天淩晨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時,資源滿足度與作業延遲情況。
在设置产出目标地區,設定希望資源配置最佳化後作業完成啟動並執行時間點。
最佳化目標時間點預設為評估時間點,也可以配置為評估時間點之前的時間點,為作業產出留出部分冗餘時間;或設定最大可接受作業延遲,允許作業產出延遲一段時間,以降低資源成本。
單擊查看推荐方案,查看推薦資源配置下的最佳化效果及方案詳情。
最佳化效果依舊以CU消耗類比(推薦方案)的方式呈現,包含資訊與現狀評估圖一致,可以對比查看。
重要推薦方案為參考方案,無法保證百分之百實現最佳化目標,建議依據實際情況逐步變更配置,並關注變更配置後效果。
在推荐方案地區,將將推薦方案下載到本地。
建議將推薦方案下載為
.xlsx檔案,便於留存對比不同推薦方案。然後依據業務需求,單擊前往配置,在Quota管理頁面配置。
下一步
產生最佳化方案後,可以基於最佳化方案給的計算資源配置,評估最佳化後的計算資源成本。
月度相關計算資源成本(目錄價)= 預付費CU購買量 * 22.0 USD(每月) + 彈性預留CU量 * 彈性時間(小時)* 0.0488 USD(1CU每小時) * 30更多關於訂用帳戶資源的計費詳情請參見計算費用(隨用隨付),實際價格以提交訂單時頁麵價格為準。
結合最佳化方案的成本和最佳化目標時間,評估成本和最佳化後的時間點,參考最佳化方案購置訂用帳戶資源,逐步變更配置並關注變更配置後的作業運行結果。
相關文檔
使用計算資源最佳化功能的最佳實務:使用成本最佳化功能實現降本增效。
更多關於MaxCompute成本最佳化的文檔如下: