Google改善無服務(wù)器服務(wù)Cloud Run和Cloud Functions第二代的CPU啟動速度,能夠大幅減少兩者的冷啟動時間,根據(jù)Google的測量,啟動時間可減少達一半,官方表示,借由加速CPU啟動,也代表著有更多的CPU資源能夠動態(tài)分配給用戶的容器,并且更快地開始服務(wù)請求。
冷啟動是在處理請求時所會遇到的延遲,這是因為系統(tǒng)需要時間啟動新的容器執(zhí)行實例以服務(wù)新請求,像是當Cloud Run服務(wù)規(guī)??s減到零個執(zhí)行實例,在收到新請求時,就需要啟動一個新的執(zhí)行實例處理該請求。
除了從零到一的執(zhí)行實例縮放事件外,冷啟動通常還會發(fā)生在配置服務(wù)單一并行請求,或是流量縮放事件期間。雖然最小執(zhí)行實例可以消除從零到一執(zhí)行實例所遇到的冷啟動,但因為流量會擴展到更多的執(zhí)行實例,所以該方法并無法一體適用于所有冷啟動。
Google現(xiàn)在通過加速CPU啟動,來減少每次冷啟動的時間,特別Java應(yīng)用程序更是從該新功能顯著獲益,在Spring PetClinic應(yīng)用程序加速50%,原生Spring搭配GraalVM服務(wù)加速47%,而一般的Java Cloud Functions也能夠加速23%。
在私人預(yù)覽階段測試資料,Node.js的啟動時間減少高達30%,官方解釋,這樣的進展對Node.js來說已經(jīng)是很大的改進,畢竟Node.js僅有單線程,所以加速會比Java略少。每一種語言、框架和程序代碼庫都可以從這個新功能,獲得不同程度的好處。