首先是實例冷啟動的延遲問題。盡管cloud functions比起傳統(tǒng)的VM實例啟動延遲要低許多,但它創(chuàng)建新實例的速度依然不能夠滿足某些應用的要求。影響冷啟動時間的因素主要有三個:
啟動cloud function的時間
初始化軟件和函數(shù)運行環(huán)境的時間(如:加載python庫)
用戶代碼中的初始化任務
相比起后兩者所消耗的時間,第一項幾乎可以忽略不計,如果啟動一個cloud function需要不到1s,那么初始化應用所需要的所有庫可能需要花上數(shù)十秒。
另一個限制性能的阻礙是底層硬件資源的多樣性,由于云供應商可以靈活的選擇底層服務器的規(guī)格和型號,這就導致了每個cloud function運行的物理環(huán)境性能不盡相同。我們在實驗過程中發(fā)現(xiàn),有些時候函數(shù)運行的環(huán)境甚至使用了不同時代的CPU。這種不確定性其實暴露了云供應商的背后的目的:他們想要最大化的平衡資源的使用和預算。