上云无忧 > 文档中心 > 腾讯云云函数使用教程 - 预置并发
云函数 SCF
腾讯云云函数使用教程 - 预置并发

文档简介:
预置并发支持并发实例按配置预先启动,同时云函数平台不会主动回收这些实例,会尽可能地保障有相应数量的可以处理请求的并发实例。 您可通过此功能,为函数的指定版本设定预置并发额度。通过配置预置并发,可预先进行计算资源的准备,降低冷启动、运行环境初始化及业务代码初始化引起的耗时。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠
预置并发支持并发实例按配置预先启动,同时云函数平台不会主动回收这些实例,会尽可能地保障有相应数量的可以处理请求的并发实例。
您可通过此功能,为函数的指定版本设定预置并发额度。通过配置预置并发,可预先进行计算资源的准备,降低冷启动、运行环境初始化及业务代码初始化引起的耗时。

概述

预置并发是在版本维度上解决请求到来时遇到并发实例初始化的问题。当您为一个函数版本配置预置并发之后,将会有以下效果:
1. 云函数平台立刻开始启动并发实例,直至达到配置值。
2. 云函数平台不会主动回收预置并发实例,同时会尽可能地保障预置并发实例数。
预置并发与弹性调用的并发实例启动速度是分开的,预置并发的启动不会占用地域维度500个/分钟的弹性扩容速度。云函数平台会根据您业务的情况调整预置并发的启动速度,默认为100个/分钟。
云函数平台不会主动回收预置并发实例,但并发实例可能由于进程退出、内存超限等问题不可用。一旦有不可用的实例,云函数平台会回收同时准备新的并发实例以达到预置并发实例的配置。期间可能出现短暂的实际并发实例数小于预置并发实例的情况,未启动的并发实例不会纳入计费范围。您可以在函数的监控信息“并发执行个数和预置并发”图中查看预置并发启动情况。
预置并发只能配置在已发布的版本上,无法配置在 $LATEST 版本上$LATEST 版本处于可编辑态,而预置并发需要在请求到来前启动并发实例。为了保障业务的稳定,避免因代码和配置编辑带来的版本不一致问题,预置并发只能配置在已发布的版本上。已发布版本的代码和配置无法修改,适合生产环境使用,详情可参见 版本管理

预置并发与并发管理

预置并发可以帮您解决函数初始化时间过长的问题,更快地进行响应请求。需注意的是,预置并发不是并发管理体系中的能力,设置预置并发不会对函数可以处理的并发上限有影响。每个函数可以并发处理的请求量完全依赖于函数最大独占配额或地域级并发额度。
以配置内存为128MB的某个函数版本为例:
业务场景
业务平均并发
预置并发
函数最大独占配额
效果
默认情况
100并发
未配置
未配置
所有第一次处理请求的并发实例有初始化过程。函数并发额度受账号其他函数的影响,可能会有超限。
函数关停
100并发
未配置
0MB(0并发)
最大独占配额为0并发,函数关停,所有请求均超限错误。
无需预置并发
100并发
未配置
19,200 MB(150并发)
所有第一次处理请求的并发实例有初始化过程。可以保障150并发,超过会有并发超限错误。
80%预置
100并发
10,240 MB(80并发)
19,200 MB(150并发)
持续有80个并发实例的无需初始化,20个并发实例第一次调用需要初始化。可以保障150并发,超过会有并发超限错误。
100%预置
100并发
12,800 MB(100并发)
19,200 MB(150并发)
持续有100个并发实例的无需初始化,超出的并发实例第一次调用需要初始化。可以保障150并发,超过会有并发超限错误。
完全预置
100并发
19,200 MB(150并发)
19,200 MB(150并发)
所有并发实例无需初始化。可以保障150并发,超过会有并发超限错误。
超额预置
100并发
25,600MB(200并发)
19,200 MB(150并发)
和完全预置相比,多了50个预置并发的费用,其他相同。
并发管理体系(地域级并发额度、函数最大独占配额)负责同一时间内可以处理的请求量,预置并发负责保障有可以处理请求的并发实例。两者解耦的关系可以实现 无初始化过程的流量切换 等能力。

预置并发限制

预置并发配置额受限于账号维度的额度,即地域下所有函数所有版本的总预置并发额度小于等于账号维度的并发配额

操作步骤

新增预置并发

针对函数已发布的版本,可以设定期望数量的预置并发数。
注意
函数进行 发布版本 操作后,才能针对版本进行预置设置。
1. 登录 Serverless 控制台,单击左侧导航栏的函数服务。
2. 在“函数服务”列表页面,单击目标函数名,进入“函数管理”页面。
3. 选择左侧并发配额,在“预置并发”页面中,单击新增预置并发
4. 在弹出的“新增函数预置并发”窗口中,选择期望版本及预置并发数,单击提交即可。 设置完成后,您可在“预置并发”中查看配置的状态。云函数后台将花费一定的时间完成预置并发的扩容,并将已启动准备的并发数、完成情况展示在列表中。

更新预置并发

当云函数后台完成预置并发的扩容时,您可按需修改并发数。
1. 登录 Serverless 控制台,单击左侧导航栏的函数服务。
2. 在“函数服务”列表页面,单击目标函数名,进入“函数管理”页面。
3. 选择左侧并发配额,在“预置并发”页面中,选择需更新版本所在行右侧的设置
4. 在弹出的“设置函数预置并发”窗口中,更新设置值并单击提交即可。 设置完成后,云函数平台将根据您的修改情况,在一定时间内再次完成并发数的增加或减少。

删除预置并发

当您不再计划使用某个预置并发配置时,可进行删除操作。
1. 登录 Serverless 控制台,单击左侧导航栏的函数服务。
2. 在“函数服务”列表页面,单击目标函数名,进入“函数管理”页面。
3. 选择左侧并发配额,在“预置并发”页面中,选择目标版本所在行右侧的删除
4. 在弹出的“删除函数预置并发配额”窗口中单击确认即可。 配置删除后,云函数后台将逐步回收并发实例。

相关操作

利用预置并发进行流量切换

您可以根据业务并发量设置函数最大独占配额,根据流量切换需要配置预置并发。操作过程如下:
1. 发布新版本。
2. 在新版本上设置需要的预置值。
3. 等待新版本的预置完全启动。
4. 通过 流量灰度,逐步将流量从旧版本切到新版本。如遇到问题,则流量切回旧版本。
5. 流量完全切至新版本,观察一段时间无异样后,删除旧版本的预置并发。
以下表中的场景为例,您可以在函数最大独占配额150并发的情况(该函数能最多可以并发处理150个请求)下,同时给多个版本设置100预置并发(每个版本都有100个启动好的实例),从而进行无初始化过程的流量切换。
业务场景
业务平均并发
预置并发
函数最大独占配额
效果
100%预置
100并发
12,800 MB(100 并发)
19,200 MB(150 并发)
持续有100个并发实例的无需初始化,超出的并发实例第一次调用需要初始化。可以保障150并发,超过会有并发超限错误。
如下图所示,版本4和版本5配置100预置并发。此时您可以通过流量灰度能力,将业务的100并发从版本4灰度到版本5。无论100并发以任何比例分配至版本4和版本5,都不会遇到有初始化过程的实例,从而方便您更快地发布版本与流量切换。

相似文档
  • 概述: 定时预置属于 预置并发 的弹性策略,可以根据业务情况合理配置预置并发,在指定时间对预置并发进行升降配置,提高预置并发的利用率,降低过多的闲置费用。当函数实际所需并发大于定时预置值时,会通过按量模式进行弹性扩容操作。定时预置支持:不重复、每天、周一至周五、周六周日、自定义几种任务类型。
  • 概述: 动态指标预置属于 预置并发 的弹性策略,云函数系统将周期性采集函数实际并发执行情况,结合已配置的最大、最小并发数以及目标并发利用率指标来控制预置并发功能的动态伸缩,使函数预置并发数更加接近资源的真实使用量,提高预置并发的利用率,降低了过多的闲置费用。当函数实际所需并发大于动态指标预置的并发数时,则通过按量模式进行弹性扩容操作。
  • 并发超限: 并发超限(ResourceLimitReached)指云函数 SCF 在同一时刻执行的并发数超过 配额限制 导致的函数报错。并发超限分为同步调用、异步调用两种情况。
  • 云函数创建完成后,可以通过创建触发器来将云函数与事件源进行关联。关联后的事件源,会在事件产生时,根据设计方式,以同步或异步的方式完成云函数触发运行,并在触发时将事件作为入参传递给入口函数。
  • 可以通过删除触发器来解除云函数与事件源的关联。解除关联后,事件源将不会再触发云函数的执行。您可通过控制台完成云函数触发器删除。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部