簡體   English   中英

了解 Google Cloud DataFlow Worker 中的線程

[英]Understanding Threading in Google Cloud DataFlow Workers

我做了一個等待 60 秒的簡單程序。 我有 300 個輸入元素要處理。

線程數 - Batch - 1 和 Streaming - 300 每本文檔https://cloud.google.com/dataflow/docs/resources/faq#beam-java-sdk

  1. 在流模式下 - 有 1 個工作人員和 300 個線程,考慮到產生工作人員等的開銷,作業應該在 2 到 3 分鍾內完成。我的理解是 300 個輸入元素中的每一個將有 300 個線程,並且全部睡眠 60 秒和工作應該完成。 但是,這項工作需要更多時間才能完成。

  2. 同樣,在具有 1 個工作器(1 個線程)和 300 個輸入元素的批處理模式下,應該需要 300 分鍾才能完成。

有人可以澄清這在工人層面是如何發生的嗎?

啟動和拆除工作虛擬機有相當大的開銷,因此很難從像這樣的簡短實驗中概括出來。 此外,沒有 promise 將有給定數量的流或批處理工作人員,因為這是一個依賴於實現的參數,我可以隨時為任何跑步者更改(實際上甚至可以動態選擇)。

暫無
暫無

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

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