最佳化工作流程執行對於效率和生產力至關重要。 Power Automate 提供了強大的平行執行和並行功能,可讓您同時執行多個動作並大幅減少執行時間。
平行執行
Power Automate 支援並行執行,讓流程同時執行兩個或多個步驟。 僅當所有並行步驟完成後,工作流程才繼續。 此功能可實現更有效率的處理,尤其是對於非同步任務而言。
同時執行多個動作可減少流程的總體執行時間。 並行執行對於不相互依賴且可以獨立處理的任務很有用。
平行分支
對於執行時間超過 5 秒的動作使用並行分支。 這種方法可以最佳化流程的效能,而不會導致系統過載。
並行分支的使用案例:
- 傳送非阻塞核准請求:使用平行分支傳送不阻塞其他動作的核准請求。
- 建立基於仲裁的核准:實施基於仲裁的核准流程,根據大多數回應做出決定。
- 在多個系統中建立或更新記錄:透過同時在不同系統上建立或更新記錄,以確保資料一致性並減少處理時間。
- 整合來自多個來源的資料:並行從各種來源擷取資料,並將其整合為單一資料集以進行進一步處理。
減少調度開銷
一系列直線動作可以在引擎中按順序執行。 並行結構有助於更好地組織流程並節省時間。 並行初始化多個變數可以節省時間。
盡量減少流程中跳過的動作數量非常重要。 每個分支中帶有大量動作的寬 switch 陳述式,或並行分支中不常用的路徑具有更多動作,都會對流程的可讀性和可維護性產生負面影響。
不要在切換分支中跳過許多動作,而是從切換分支呼叫下層流程。 這樣,您可以跳過不相關的下層流程,而不是大量的單獨動作。 這種方法簡化了您的主要流程並使其更易於維護。
減少每個分支內的動作數量可以使您的流程更具可讀性且更易於理解。 下層流程讓您獨立管理和更新工作流程的特定部分,從而簡化整體維護流程。
並行控制
並行性使得在套用至每個迴圈中可以並行執行。 預設情況下,套用至每個迴圈會依序執行,這在處理大量資料時可能需要很長時間。 如果迴圈中的項目不需要按順序執行,則並行可以一次處理 X 個項目。 使用者可以將並行度設定為1~50之間。
考慮需要更新 100 筆記錄的狀態欄位的情況。 並行控制允許同時更新最多 50 筆記錄,而不是逐筆更新。
請注意設定並行度:
- 劃分工作、排隊額外執行緒以及呼叫端點的延遲都會產生開銷。
- 較高的數字 (例如 50) 不一定會使事情更快。
這種方法可能適用於其他一些現實情境:
- 向多個收件者傳送單獨的電子郵件
- 更新 Dataverse、SharePoint 清單、SQL 中的記錄
- 在 Microsoft Entra ID 中大量建立使用者
- 建立並行核准
以下是並行控制對對每個迴圈中的陣列處理的影響的比較。
陣列長度 | 平行處理原則的程度 | 執行迴圈所花費的時間 |
---|---|---|
4 | 關閉 | 21秒 |
4 | 2 | 11秒 |
4 | 4 | 6 秒 |
4 | 6 | 6 秒 |
套用至每個動作的並行控制僅在雲端流程中的最高層級生效。 當您嵌套套用至每個動作時,內部動作永遠會按順序執行。