Aws lambda Lambda缩放行为是否与错误率相关?

Aws lambda Lambda缩放行为是否与错误率相关?,aws-lambda,Aws Lambda,我们已经使用AWS Lambda一段时间了,并启动了另一个Lambda进程,但这次我们注意到Lambda的缩放方法和报告的错误率出现了一些意外行为。 我们有一个SQS->Lambda设置,最大并发度为200,队列中大约有100k条消息,平均处理每一条消息需要3秒钟。根据控制台,Lambda的故障率约为5%-10%,这在当前方法中是可以预期的。不幸的是,我们看到的是Lambda最多只能执行45-50次并发执行。我们调整了内存、超时、队列设置等,但没有任何效果。最后,我们让Lambda始终成功退出,

我们已经使用AWS Lambda一段时间了,并启动了另一个Lambda进程,但这次我们注意到Lambda的缩放方法和报告的错误率出现了一些意外行为。 我们有一个SQS->Lambda设置,最大并发度为200,队列中大约有100k条消息,平均处理每一条消息需要3秒钟。根据控制台,Lambda的故障率约为5%-10%,这在当前方法中是可以预期的。不幸的是,我们看到的是Lambda最多只能执行45-50次并发执行。我们调整了内存、超时、队列设置等,但没有任何效果。最后,我们让Lambda始终成功退出,现在它已经立即达到最大并发性。 为什么会这样?文档中没有提到错误率与并发性或扩展行为有关。还有其他人经历过吗? 作为终端用户的某种安全防护,它是有意义的,但我们只是没有预料到。我们正在调整我们目前的方法来解释这个理论

tldr: Lambda的最大并发性为200,由SQS触发 当错误率为5%-10%时,可达到大约45-50次并发执行 当错误率为0%时,它将达到全部200次并发执行
为什么?

正如约翰·罗滕斯坦(John Rotenstein)所评论的,这可能是由于重试

从中可以看出,您的AWS SQS服务触发器设置为出错重试

这也包含在博客帖子中:

是的。 以前没有任何地方记录过这种行为,但我也经历过这种行为

在此确认:

如果Lambda试图调用函数时出现任何错误, 该服务可防止您的函数进行缩放,以防止出现错误 规模一旦错误停止,Lambda将继续扩展您的 功能。它每分钟增加60次并发调用 只要您的帐户未达到或接近扩展的服务配额 或区域中的突发并发。您的函数可以扩展到 最多1000次并发调用


这可能是由于重试。“失败”的原因是什么?见: