单实例多并发管理
更新时间:2024-07-05
函数计算为每个账户默认设置100的并发额度,用户账户下的所有函数的并发执行数量会计入该账户级别限制。即在某个地域的某个时刻,您的账户下最多可以有100个函数在同时执行。当用户函数数量较多时,账户级别的并发度可能会限制函数并发请求量,为了保证函数级别的高并发请求,CFC支持单实例多并发的功能,用户可以为单个函数设置单实例并发度,提高单个函数的并发执行限制。
假设同时有3个请求需要处理,当单实例并发度设为1时,函数计算需要创建3个实例来处理这3个请求,每个实例分别处理1个请求;当单实例并发度设为10时,函数计算只需要创建1个实例就能处理这3个请求。
说明:默认情况下,函数的单实例并发度为1,即一个实例同时只会处理一个请求。当您设置了单实例并发度大于1后,函数计算在处理请求时,会尽可能地充分利用一个实例的并发度后再创建新的实例。
单实例多并发优势
-
减少冷启动,提高性能
由于多个请求可以在一个实例上处理,创建实例的次数变少,冷启动的概率降低,提高性能。
-
请求之间可以共享状态
多个请求可以在一个实例内共用数据库连接池,从而减少和数据库之间的连接数。
-
减少VPC IP占用
在相同负载的情况下,单实例多并发可以降低总的实例数,从而减少VPC IP占用。
单实例多并发场景限制
- 函数中有共享状态,且不能并发访问时,不适合单实例多并发,例如函数中有全局变量,多请求并发执行修改全局变量可能会导致错误。
- 单个请求的执行要消耗大量CPU及内存资源时,不适合单实例多并发,多请求并发执行会造成资源争抢,可能会导致内存不足(OOM)或者延时增加。
设置单实例多并发
创建函数时设置单实例并发度
创建函数时,用户可以设定函数单实例并发度,单实例并发度最小限制为1,最大限制为10。
已有函数编辑修改函数单实例并发度
在已创建函数界面可编辑修改函数单实例并发度。