Google加快无服务器服务Cloud Run、Cloud Functions冷启动时间

Google改善无服务器服务Cloud Run和Cloud Functions第二代的CPU启动速度,能够大幅减少两者的冷启动时间,根据Google的测量,启动时间可减少达一半,官方表示,借由加速CPU启动,也代表着有更多的CPU资源能够动态分配给用户的容器,并且更快地开始服务请求。

冷启动是在处理请求时所会遇到的延迟,这是因为系统需要时间启动新的容器执行实例以服务新请求,像是当Cloud Run服务规模缩减到零个执行实例,在收到新请求时,就需要启动一个新的执行实例处理该请求。

除了从零到一的执行实例缩放事件外,冷启动通常还会发生在配置服务单一并行请求,或是流量缩放事件期间。虽然最小执行实例可以消除从零到一执行实例所遇到的冷启动,但因为流量会扩展到更多的执行实例,所以该方法并无法一体适用于所有冷启动。

Google现在通过加速CPU启动,来减少每次冷启动的时间,特别Java应用程序更是从该新功能显著获益,在Spring PetClinic应用程序加速50%,原生Spring搭配GraalVM服务加速47%,而一般的Java Cloud Functions也能够加速23%。

在私人预览阶段测试资料,Node.js的启动时间减少高达30%,官方解释,这样的进展对Node.js来说已经是很大的改进,毕竟Node.js仅有单线程,所以加速会比Java略少。每一种语言、框架和程序代码库都可以从这个新功能,获得不同程度的好处。