tencent cloud

文档反馈

并发超限

最后更新时间:2024-04-19 15:48:17

    并发超限

    并发超限(ResourceLimitReached)指云函数 SCF 在同一时刻执行的并发数超过 配额限制 导致的函数报错。并发超限分为同步调用、异步调用两种情况。

    异步调用

    异步调用包含 云 API 触发器 的异步调用、COS 触发器定时触发器CMQ Topic 触发器CLS 触发器MPS 触发器 等,具体触发器调用类型请参考相关触发器说明文档。 当异步调用并发超限时其处理逻辑由云函数 SCF 进行自动重试,详情可参见 异步调用重试策略

    同步调用

    同步调用包含 云 API 触发器 的同步调用、API 网关触发器CKafka 触发器。 由于同步调用的过程中,错误信息会直接返回给用户,所以在同步调用中发生错误时,平台不会自动重试,重试策略(是否重试、重试几次)均由调用方决定。同步调用场景下云函数 SCF 将返回 432状态码,请求不会进行重试。

    解决并发超限相关指引

    查看并发超限监控

    您可通过云函数控制台查看相关函数的函数受限次数和具体受限日志。

    查看函数受限次数

    1. 登录 Serverless 控制台,在左侧选择函数服务
    2. 在“函数服务”页中,选择需要查看的函数名,进入该函数的详情页面。
    3. 在“函数管理”中,选择监控信息 > 受限次数,查看相关函数的受限次数情况。如下图所示:
    
    

    查看函数受限日志

    1. 登录 Serverless 控制台,在左侧选择函数服务
    2. 在“函数服务”页中,选择需要查看的函数名,进入该函数的详情页面。
    3. 在“日志查询”中,选择调用日志 > 调用超限,查看相关函数的具体受限日志。如下图所示:
    
    

    并发超限处理

    异步调用对并发超限场景有平台重试策略帮助用户自动对并发超限进行处理并重试,通常情况下异步调用的并发超限用户无需进行任何操作,在设定的最长等待时间内,函数平台会自动对并发超限错误进行重试。
    同步调用发生错误时,错误信息会直接返回给用户,请求不会进行重试。
    注意:
    异步调用中,如对时效性比较敏感可以通过配置最大独占配额来减少或降低超限对业务系统的影响。例如需要重要消息超过设置的最长保留时间后不会丢失则应设置死信队列兜底。

    配置死信队列

    死信队列 DLQ 是一个用户账号下的 CMQ 队列,可用于收集错误事件信息、分析失败原因。如果您为函数配置了死信队列,由于超限导致的重试失败的消息都将发送到死信队列。详情可参见 死信队列创建

    配置最大独占配额

    最大独占配额额度是用于保障函数可用并发的最大额度,通过配置最大独占配额额度,函数可以在额度内启动足够并发数量,并发最大可以达到配置额度。通过设置最大独占配额额度,函数不再与其他函数共享账号并发额度,可以降低出现并发超限的可能,获得更有保障的运行。详情可参见 设置最大独占配额
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持