雲端與容器基礎
在無伺服器函式(FaaS)中,有時只有一段時間沒被呼叫的函式的第一次呼叫,回應會慢數百毫秒到數秒。關於這個現象的說明,下列何者正確?
- A第一次呼叫的結果會被快取,第2次以後不執行函式的程式碼,只回傳儲存的結果
- B需要時間重新準備執行函式的環境,並啟動語言的執行環境、進行初始化處理(冷啟動)
- C第一次呼叫時,函式的程式碼會被送到使用者的裝置,在裝置上編譯後才執行
查看答案與解析
正確答案:B. 需要時間重新準備執行函式的環境,並啟動語言的執行環境、進行初始化處理(冷啟動)
在無伺服器函式中,業者依需要準備執行環境(容器或輕量虛擬機器等),一段時間未使用就會收掉。收掉之後的第一次呼叫,需要準備環境、啟動語言的執行環境並進行函式的初始化處理,回應就慢了這麼多。連續呼叫時會重複使用已準備好的環境,因此較快(暖啟動)。對策包括減輕初始化處理與載入的函式庫、使用預先準備一定數量環境的設定等。
- A. 函式的結果不會自動被快取,每次呼叫都會執行程式碼。
- B. 正確。準備執行環境與初始化的時間,會加在第一次呼叫上。
- C. 函式在雲端側的執行環境中運作,並不是送到使用者的裝置上執行。