我有一个AWS Lambda Function设置,带有来自SQS队列的触发器 . 当前队列有大约130万条消息可用 . 根据CloudWatch的说法,Lambda函数在给定的分钟内只有431次调用 . 我已经读过Lambda supports 1000 concurrent functions running at a time,所以我不确定为什么它会在给定的一分钟内达到最大值431 . 同样看起来我的函数平均只运行大约5.55s左右,因此这1000个可用并发槽中的每一个应该每分钟翻转多次,因此提供了更高的调用率 .
我怎样才能弄清楚这里发生了什么,让我的Lambda函数更及时地通过该SQS队列进行处理?
1 回答
您提到的1000并发连接限制假定您已提供足够的容量 .
看看这个,特别是最后一点 . https://docs.aws.amazon.com/lambda/latest/dg/vpc.html
另请阅读本文,其中指出了许多可能影响您的事项:https://read.iopipe.com/5-things-to-know-about-lambda-the-hidden-concerns-of-network-resources-6f863888f656
最后一点,请确保您的SQS Lambda触发器的batchSize为10(最大可用) .