云环境下无服务器工作负载的特征分析与优化
1 引言
函数即服务(FaaS)作为一种将计算部署到云端无服务器后端的方式,正日益受到欢迎。与传统云接口不同,在 FaaS 中,用户无需显式配置虚拟机或容器,只需上传函数代码,函数会在事件触发时执行,云服务提供商负责资源分配、性能保障和计费。
提供商希望以最低资源成本实现高函数性能,但面临诸多挑战。函数执行速度和资源消耗主要涉及三个方面:
1. 代码加载 :代码在内存中时可快速启动(热启动),否则需从持久存储加载(冷启动)。
2. 资源保留成本 :始终保留所有函数资源成本过高,理想情况是让用户感觉函数始终热启动,而资源消耗如同冷启动。
3. 资源需求和调用频率差异 :函数资源需求和调用频率差异大,不同触发器的调用模式也不同,增加了资源预测和管理的难度。
目前缺乏生产工作负载特征的公开信息,以往研究多集中于基准测试或原型系统。因此,需要从提供商角度全面分析用户在生产平台上的真实 FaaS 工作负载。
2 背景
2.1 抽象概念
在 FaaS 中,用户上传代码到云端,提供商提供运行代码的接口,资源分配和保留决策由提供商负责。
2.2 触发器
函数可由多种事件类型触发,本文将 Azure 的触发器分为 7 类:
| 触发器类型 | 说明 |
| — | — |
| HTTP | 处理 HTTP 请求 |
| Event | 包括 Azure Event
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



