零星Lambda超时

时间:2018-10-11 20:32:17

标签: amazon-s3 aws-lambda boto3

我们有一个带S3 ObjectCreated触发器的lambda。将文件上传到我们帐户中的某个S3存储桶和目录时,lambda使用boto3(Python AWS SDK)下载文件,对内容进行分块,然后将这些块放入不同存储桶中的许多较小的S3文件中通过并行处理使用boto3的{​​{1}}函数(Python Lambda函数中并行处理的策略概述为here)。

平均处理时间约为2分30秒。但是,S3响应时间比总体预期要高得多,并且不可避免地会由于超时错误而导致一两个lambda失败。故障率非常低,并且将超时设置为5分钟,我们无法弄清为什么在大多数lambda执行仅花费2:30时会遇到偶发性的Timeout故障。

我们正在利用每个lambda上可能的最大内存,并且我们已将lambda的并发设置为30,以限制执行不超过S3 PUT对象限制。

我们认为这不是代码性能问题,因为大多数执行都在超时限制内,并且我们倾向于认为它与AWS有关。我们还无法确定如何增加对S3的可靠,及时的大批量PUT请求。

S3或Lambda是否有其他有用的配置设置?还是有更好的方法使用upload_file来减少总体处理时间并消除偶发故障?

0 个答案:

没有答案