AWS Lambda 函数无法扩展至足以处理 SQS 消息

Jam*_*zba 2 amazon-sqs amazon-web-services aws-lambda

我有一个订阅 SQS 队列来处理消息的 lambda。消息量非常大。

问题:队列增长非常快,并且 lambda 函数无法横向扩展以足够快地处理消息。尽管我还有 950 个或更多未使用的 lambda 执行的剩余配额,但并发 lambda 执行最多只有 20 到 25 个。为什么它不启动更多 lambda 来更快地处理我的队列?这是可配置的吗?

这是我的应用程序中的一个问题,因为我使用的是标准 SQS 队列,它不提供排序保证。因此,有时我会看到不幸的消息在队列中被吸了几个小时,而有些消息则在不到一分钟的时间内得到处理。(顺便说一句,我对队列可以按如此随机的顺序进行处理感到非常震惊。即使没有顺序保证,我也不会想到它会这么糟糕)。

Jam*_*zba 5

问题在于 lambda 函数的内存分配。我天真地将其保留为128MB. 更改此即可2048MB彻底解决问题。lambda 现在可以毫无问题地跟上大量 SQS 消息。