簡體   English   中英

Google Cloud Composer 單調度程序與多調度程序

[英]Google Cloud Composer single vs multiple scheduler

背景:我有一個有 40 個 dag 的 composer 環境,其中很少有 dag 發出 API 調用以下載文件,還有一些正在將文件從 gcs 存儲桶移動到 gcs 存儲桶,還有一些 dag 將文件從 gcs 存儲桶移動到 BigQuery。

調度器配置:

調度器數量:1,CPU:1 個 vCPU,Memory:1.75 GB,存儲空間:1 GB

它使用了所有 100% 的 cpu 和 dag parsig 時間超過 60 秒

根據文檔,CPU 不應超過 80%,DAG 解析時間不應超過 10 秒。 所以我用配置做了一些測試。

測試 1:再添加一個具有相同 1 個 vCPU、1 GB memory 和 1GB 存儲空間的調度程序,現在因為有兩個調度程序,我們有 2 個 vCPU、2 GB memory 和 2 GB 存儲空間 由於某種原因,它仍然占用了所有 100% 的調度程序 CPU並且 dag 解析時間下降到 10-20 秒。

測試 2:使用 1 個調度程序,我將 CPU 增加到 1.75 個 vCPU,memory 為 1.75 GB,存儲增加到 2 GB。 由於某種原因,它使用平均 cpu 到 1.2 不到 80% 的 cpu 使用率,DAG 解析時間下降到不到 4 秒。

我無法理解沒有兩個調度程序應該更快的實際原因? 有什么我想念的嗎?

Airflow 調度程序用於監視任務和 DAG,並在它們的依賴項完成后觸發任務實例。 可以添加多個調度程序來分配負載,但這不會提高 Airflow 的性能。一個調度程序可能會比多個調度程序提供更好的性能,這可能是由於調度程序未充分利用導致資源消耗但不會提高性能或有助於表現。

調度程序的性能取決於 Airflow worker 的數量、在您的環境中運行的 DAG 和任務的數量以及 Airflow 和環境的配置。 建議從兩個調度程序開始,並根據您的要求監控性能和規模。 您可以查看此文檔以獲取更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM