学习资料:bytedance.feishu.cn/file/boxcnT…
冷启动时间优化
-
优化拉镜像的时间
- 在每个节点部署base image
- 缩小base image大小
- 用户代码和基础镜像分开,need的时候拉用户代码
-
优化用户代码下载速度
- 增加nginx-cache
- 提前预热代码
- http range并行下载
- 下载过程中unzip/untar
- 维护本地local cache,如果这个base pod之前就有代码,就不用下载了
拉取镜像&代码——》优化结果是tens毫秒
-
Warming Pool
- 下载下来了,还是镜像文件,可以先启动起来称为Warming Pool
-
更进一步(语言本身)
-
对于Node python java这些动态代码,可以更近一步。所以就是Runtime Standby,动态加载进来。
- 比如python修改sys.path来加速,现在启动速度在30ms-100ms里
-
golang pretty fast
-
稳定性和高可用
增加兜底
整体Container/runtime启动进程的流程是怎么样的?
-
最佳实践