簡體   English   中英

消耗計划中的Azure函數執行會相互干擾

[英]Azure function executions in consumption plan interfere with eachother

我對Azure Functions有嚴重的問題。 讓我概述一下我的情況。

我有一個工作量,用於處理Blob容器中的傳入數據文件。 使用BlobTrigger,我的處理功能會拾取文件,對其進行處理並將其從容器中刪除。 在消費計划處理后2分鍾內,一個文件的所有內容。

一切正常,所以我很高興。 現在,我想按比例放大內容,並在Blob容器中提供+/- 10個批次。 運行時開始並行執行它們,因此仍可以按預期運行。 但是,然后:這些功能的並行執行速度明顯降低,因此單個工作負載的處理時間超過了最大值。 執行時間為10分鍾! 這是導致事情放慢速度的五分之一,這取決於提供的工作數量。

我在這里想念嗎? 這是為這些功能構建的,還是僅僅是玩具或其他東西? 我現在依靠[Singleton]來注釋我的函數,在這里完全放棄了任何縮放方面的好處? “無服務器”執行單元之間如何相互干擾?

我很困惑,任何見解將不勝感激。

您應該研究Azure函數縮放算法

首次使用Azure函數會分配一個小的實例(1.5 GB)來處理工作負載,這需要一些時間來了解擴展要求,然后只有Azure ScaleController會添加/刪除該實例。 對於單個blob,1.5 GB實例需要2分鍾,而對於10 blob,同一個實例(1.5 GB)將共享資源,並且需要時間。

我沒有看到批量大小設置為BLOB觸發器host.josn但我想小批量大小和解決類似的問題與ServiceBus。

您可以在blob上發送更多工作負載,並且借助應用程序Insight,可以檢查Azure函數擴展時間。

希望您已經檢查了 Blob觸發器問題。

暫無
暫無

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

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