全部產品
Search
文件中心

MaxCompute:作業級資源分析最佳實務

更新時間:Jul 27, 2024

本文以典型情境案例為您介紹如何通過MaxCompute控制台的作業分析功能進行作業層級資源分析,瞭解作業資源消耗詳情,同時為您提供最佳化作業運行時間長度的建議。

背景資訊

當遇到作業運行較長時間仍未結束且通過Logview難以定位原因,或作業運行結束後,發現作業運行時間長度達不到預期(作業運行慢),您需要分析是否是由於資源供給問題導致的。

MaxCompute提供作業分析功能,資料開發人員和管理員可通過MaxCompute控制台的作業分析功能查看歷史作業和正在啟動並執行作業,方便瞭解作業資源消耗詳情。

注意事項

下述典型案例的評估方式比較簡單,在實際業務實施過程中,您需要綜合多方面考慮,建議您依據實際情況調整作業屬性,並關注調整後的效果。

典型情境一:訂用帳戶預留資源不足導致作業運行慢

某公司購買了訂用帳戶預留計算資源50 CU供作業使用,每天有十餘批(一千多個)作業固定運行在這些資源上。

資料開發工程師小K認為Instance ID為20240717020015831xxxxxxxxxxxx的作業運行時間長度過長,影響後續商務程序,於是前往MaxCompute控制台的工作區>作業營運頁面搜尋到該作業,並單擊操作列的分析進行查看。image

image

可以通過作業層級資源消耗圖表發現,訂用帳戶預留計算資源50 CU已全部被佔用,該作業也已經使用了大多數計算資源,但由於整體資源有限,Quota層級的等待CU也居高不下,說明預留計算資源不足以及時消化所有作業的請求,單作業也始終存在未被消化的請求,因此作業運行較慢。

如遇到上述情況,您可以參考以下兩種解決方案:

  • 評估是否可以調整作業發起時間,避免集中請求資源而導致預留資源不足。

  • 作業請求資源情況無法調整,需要升配訂用帳戶資源,您可以前往成本最佳化頁面,設定您的期望作業完成時間,查看系統推薦的資源配置方案。

典型情境二:多作業同時搶佔資源導致作業遲遲無法開始運行

某公司購買了訂用帳戶預留計算資源50 CU供作業使用,每天有十餘批(一千多個)作業固定運行在這些資源上。

資料開發工程師小K發現Instance ID為20240717020020365xxxxxxxxxxxx的作業已耗用時間過長,影響後續商務程序,於是前往MaxCompute控制台的工作區>作業營運頁面搜尋到該作業,發現該作業總運行時間長度為21分鐘17秒,其中有超過一半時間都在等待,於是單擊操作列的分析查看等待原因。image

image

可以看到,該作業在提交後的前13分鐘一直處於等待資源狀態,而Quota層級的使用值卻已達到上限,說明有其他作業正在佔用資源,導致該作業無法擷取計算資源運行,在13分鐘後開始慢慢擷取資源運行,但始終沒有達到Quota上限值。

您可以通過單擊資源消耗圖橫軸的時間點,查看對應時刻計算Quota層級的資源分派情況,包括所有運行中等待中的作業資源分派情況,如下圖顯示10:04,有3個優先順序為9的作業正在消耗計算資源,但本作業沒有擷取到資源,同時有5個作業存在請求資源被等待的情況。image

單擊等待中作業資源分派對應的色塊,可以跳轉查看具體的作業列表,由下圖可知該時刻佔用資源較多的作業Instance ID為20240717020015831gza7jdf21uv3。image

深入瞭解作業20240717020015831gza7jdf21uv3的資源消耗情況,可以發現該作業確實在同一時間佔用了較多的計算資源。image

如遇到上述情況,您可參考以下三種解決方案:

  • 評估是否可以調整作業發起時間,避免集中請求資源而導致多作業搶佔有限的計算資源。

  • 評估是否可以調整作業優先順序,如果無法避免多作業在同一時間發起,可以選擇將重要作業的優先順序調高,那麼在多作業同時請求資源時,會先滿足優先順序較高的作業請求。

  • 升配訂用帳戶資源,您可以前往成本最佳化頁面,設定您的期望作業完成時間,查看系統推薦的資源配置方案。

資料開發工程師小k將該節點的任務優先順序調整為0,在下一輪作業運行中,可以明顯觀察到作業的等待時間縮短,並且很快就擷取到預留計算資源的50%用於作業計算,總已耗用時間從21分鐘縮短至6分鐘。