設定執行個體數量下限 (第 1 代)

您可以設定執行個體數量下限,避免應用程式冷啟動,並縮短應用程式延遲時間。

Cloud Run functions 會建立新的函式執行個體,藉此調度資源;每個執行個體只能逐次處理一項要求,如果要求數量遽增,系統就必須建立新的執行個體加以因應,這通常會導致等待時間變長。

由於函式處於無狀態,有時會從頭開始初始化執行環境,此過程稱為「冷啟動」。冷啟動可能耗時許久才會完成,如果應用程式易受延遲影響,建議設定 Cloud Run functions 執行個體數量下限。

閒置執行個體和冷啟動

為盡可能降低冷啟動的影響,Cloud Run functions 在處理要求後,會嘗試讓函式執行個體閒置一段非特定的時間。在這段閒置時間內,系統可能會保留開放資料庫連線等資源,以備處理其他要求的不時之需。以此方式保持閒置的執行個體仍計入函式的執行個體數量上限,但這段閒置時間不予計費。

對於易受延遲影響的應用程式,這項內建行為可能不敷滿足需求。明確設定執行個體數量下限,有助於避免冷啟動,並縮短應用程式延遲時間。

請注意,若執行個體因設定數量下限而維持閒置,除非近期曾處理流量,否則不會視為「使用中」的狀態。例如,若函式近期未曾處理流量,即使已設定執行個體下限值,「使用中執行個體」指標仍可能顯示沒有執行個體處於使用中狀態。

另請注意,設定執行個體數量下限後,這些執行個體的閒置時間仍會計費,詳情請參閱「定價」。

設定及清除執行個體數量下限

您可以在部署期間設定函式的執行個體數量下限。每個函式都有自己的執行個體數量下限設定。

設定執行個體數量下限

您可以使用 Google Cloud CLI 或 Google Cloud 控制台設定執行個體下限。

控制台

為新函式設定執行個體數量下限的方法如下:

  1. 如要建立新函式,請前往Google Cloud 控制台的 Cloud Run functions 頁面:
    前往 Cloud Run functions 頁面

  2. 按一下「Create function」(建立函式)

  3. 填寫函式的必填欄位。

  4. 展開頁面底部的「Runtime, build...」(執行階段,建構…) 部分,然後點選「Runtime」(執行階段) 分頁標籤。

  5. 在「Autoscaling」(自動調度資源) 部分的「Minimum number of instances」(執行個體數量下限) 欄位中,輸入大於或等於 1 的數字。

  6. 點按「Next」(下一步)

  7. 點選「Deploy」(部署)

為既有函式設定執行個體數量下限的方法如下:

  1. 前往 Google Cloud 控制台的 Cloud Run functions 頁面:
    前往 Cloud Run functions 頁面

  2. 按一下既有函式名稱,前往「Function details」(函式詳細資料) 頁面。

  3. 按一下「編輯」(Edit)

  4. 展開頁面底部的「Runtime, build...」(執行階段,建構…) 部分,然後點選「Runtime」(執行階段) 分頁標籤。

  5. 在「Autoscaling」(自動調度資源) 部分的「Minimum number of instances」(執行個體數量下限) 欄位中,輸入大於或等於 1 的數字。

  6. 點按「Next」(下一步)

  7. 點選「Deploy」(部署)

gcloud

如要設定執行個體下限,請執行下列指令:

gcloud functions deploy FUNCTION_NAME \
--no-gen2 \
--min-instances MIN_INSTANCE_LIMIT

更改下列內容:

  • FUNCTION_NAME:函式名稱。

  • MIN_INSTANCE_LIMIT:要設定的執行個體數量下限數字,不得超過 1000。

函式的執行個體數量下限設定完成。

清除執行個體數量下限

您可以使用 Google Cloud CLI 或 Google Cloud 控制台清除或移除執行個體下限。

控制台

清除函式執行個體數量下限的方法如下:

  1. 前往Google Cloud 控制台的 Cloud Run functions 頁面:
    前往 Cloud Run functions 頁面

  2. 按一下既有函式名稱,前往「Function details」(函式詳細資料) 頁面。

  3. 按一下「編輯」(Edit)

  4. 展開頁面底部的「Runtime, build...」(執行階段,建構…) 部分,然後點選「Runtime」(執行階段) 分頁標籤。

  5. 在「Autoscaling」(自動調度資源) 部分的「Minimum number of instances」(執行個體數量下限) 欄位中,輸入 0。

  6. 點按「Next」(下一步)

  7. 點選「Deploy」(部署)

gcloud

在部署時使用 --clear-min-instances 旗標:

gcloud functions deploy FUNCTION_NAME --clear-min-instances

函式的執行個體數量下限清除完成。

取得有關設定執行個體數量下限的建議

建議工具服務會自動提供建議,指出哪些函式可設定執行個體數量下限,藉此提升效能。