簡體   English   中英

為什么 Firebase Cloud Function 部署后會比在模擬器中慢得多,除了冷啟動?

[英]Why would a Firebase Cloud Function be much slower once deployed than in the emulator, other than cold starts?

我有一個 Firebase 雲 Function 可以解析一些 HTML 等等。 我已經測量了 HTML 解析方法本身,在 MacBook Pro 上的模擬器中大約需要 300 毫秒。 部署到 Firebase 似乎需要大約 4-8 秒,這對於我的應用程序來說不是可以容忍的持續時間。

我正在使用 Dart 使用 firebase_functions_interop 編寫我的 Firebase Cloud Functions 並使用Dart2JS編譯為 JS。 在不同環境之間執行截然不同的方法實際上是 Dart 內置的 HTML 解析方法。 我知道冷啟動是雲功能花費比預期更長的一個常見原因,但這似乎不是罪魁禍首,因為我明確測量解析 HTML 所需的時間,這就是我看到巨大區別。

是否可以預期 Cloud Function 在生產中的運行速度會比在 MacBook Pro 上慢得多?

部署firebase雲function時,可以自定義運行環境 但是在這里,沒有CPU容量。 如果您直接查看 Cloud Function 文檔(Firebase Cloud Functions 由 Google Cloud Functions 支持),您可以看到 memory 的數量與 CPU 功率之間的相關性。

注意:memory 的 4Gb = 2CPU @2.4Ghz,而不是 1 CPU(一個線程)@4.8Ghz

所以現在,使用 2Gb 的 memory 部署您的 Firebase 雲 Function,速度應該會更好(默認為 256Mb)。 但請記住這一點:Cloud Function 是 mono CPU,並且限制為 2.4Ghz。 你的 macbook pro 應該有 8 個或 16 個 CPU,並具有 3.4Ghz 的處理能力。

暫無
暫無

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

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