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