函数计算与冷启动的那些事
本文首先简单介绍冷启动对使用FaaS (Function as a service)的开发者的影响,并介绍函数计算冷启动流程和最佳实践。最后会分享函数计算冷启动延时优化现阶段成果,希望对于被冷启动延时所困扰的开发者有所帮助。
冷启动影响
函数计算的开发者们相信对冷启动的概念并不陌生,其对业务的影响可以总结为:
延迟毛刺: 容器启动,下载代码,runtime初始化,业务逻辑初始化这些时间加起来可能将请求耗时拉高至500ms-30s,对于延迟敏感(< 100ms)的应用这样的延迟不可接受。
额外工作量: 开发者为了减少冷启动的出现,通常要实现与业务逻辑无关的定时预热功能,例如函数handler需要支持预热,预热函数需要控制并发度。
额外费用: FaaS平台通常根据请求时长收费,定时的预热会产生不必要的费用。对初始化时间很长的应用(如深度学习模型初次加载),频繁的冷启动产生额外的费用。
冷启动频率增大是Serverless vs. Serverful 架构引入的一个新的挑战,过高的延迟可能会让对长尾延迟(P99)敏感的业务望而却步。在函数计算中,有什么办法可以减小冷启动的影响呢?
此答案来自钉钉群“阿里函数计算官网客户”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。