AWS SQS Lambda 触发器和并发

AWS SQS Lambda Trigger and Concurrency

我已经看到许多关于限制 Lambda 并发执行的 SO 问题,但 none 在相反的问题上。

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

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

我倾向于怀疑存在某种限制阻止任何单个 Lambda 使用超过总配置容量的 25%(1,250 是 5,000 的 25%),但 AWS 文档另有说明。我确实看到了这个 SO 问题 (),它讨论了 Labmda/SQS 轮询,但它和它链接的文档表明我的进程应该使用 100% 的预配置容量。但也许是投票导致了这个问题。

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

非常感谢suggestions/ideas。

果冻的建议很好

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