AWS SQS Lambda 触发器和并发

mmu*_*use 4 amazon-sqs amazon-web-services aws-lambda

我见过很多关于限制 Lambda 并发执行的问题,但没有看到关于相反问题的问题。

我需要增加并发执行但遇到问题。我有一个由SQS 队列触发的 Lambda。我发布了该函数的一个版本,并为其分配了 3,000 个并发执行(我的限制已从默认的 1,000 个增加到 5,000 个)。

在此输入图像描述

尽管如此,当我运行流程时,我看到数十万条消息在队列中等待,而 Lambda 函数的“监控”选项卡显示我的“并发执行数”从未超过 1,250,而我的“ProvisionedConcurrencyUtilization”从未超过 50%。此外,该图表似乎暗示了 1,250 的硬性限制。

在此输入图像描述

我倾向于怀疑存在某种限制,阻止任何单个 Lambda 使用超过总预配置容量的 25%(1,250 是 5,000 的 25%),但 AWS 文档另有说明。我确实看到了这个SO问题(AWS Lambda Triggered by SQS增加SQS请求计数),它讨论了Labmda/SQS轮询,但它及其链接的文档表明我的流程应该使用100%的预配置容量。但也许是民意调查造成了这个问题。

无论如何,这些消息都会在队列中等待一个多小时来处理……同时处理的数量绝不会超过 1,250 个……而预置并发的重置则处于空闲状态。

任何建议/想法将不胜感激。

mmu*_*use 5

果冻的建议很好。

不幸的是,AWS 表示,使用 Amazon SQS 触发器时,存在 1,250 个 Lambda 并发执行的硬性限制。