实例伸缩限制及规则
您可以根据按量模式和预留模式的实例总数及对应的实例扩容速度的限制信息配置弹性伸缩规则。在预留模式下,您可以通过定时伸缩和水位伸缩两种方式解决预留实例利用不充分的问题。
实例伸缩行为
函数计算在处理请求时,会优先使用现有的可用实例。如果当前实例已满载,系统将创建新实例以处理更多请求。随着请求量的增加,系统将持续扩容直至满足需求或达到设定的上限。
当函数调用请求增加时,按量模式和预留模式的实例伸缩行为如下。配置预留实例后,可以提前准备好函数实例,从而避免实例冷启动带来的请求延时问题。
按量模式实例伸缩
当实例总数或者实例扩容速度超过限制后,函数计算将返回流控错误(HTTP Status为429)。
- 在达到突增实例数前,函数计算立即创建实例,这个过程中有冷启动,但没有流控错误。
- 达到突增实例数后,实例数的增长受速度限制,部分请求会收到流控错误。
- 实例数超过限制后,部分请求收到流控错误。
预留模式实例伸缩
当突发的调用量较大时,大量的实例创建会受到流控限制导致请求失败,实例的冷启动也会增加请求延时。为避免这些问题,您可以使用函数计算的预留实例,即提前准备好函数实例。
预留模式和按量模式在同一地域下的扩容速度限制是一致的。对于GPU实例,其扩容速度较弹性实例慢,建议与预留模式配合使用。
最大可响应并发值
根据实例并发数的不同,函数实例可响应的最大并发值计算方式如下:
- 单实例单并发
最大可响应并发值 = 函数实例数量 - 单实例多并发
最大可响应并发值 = 函数实例数量 × 单实例并发度