lambda中的AWS SQS操作在冷启动时花费的时间太长

时间:2019-10-16 20:38:19

标签: amazon-web-services aws-lambda amazon-sqs aws-java-sdk

我有一个使用AWS Java SDK的Lambda。

在此lambda的处理程序中,我得到的代码如下所示:

AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient();
sqs.sendMessage( ... )

我希望以上几行很快,并且在大多数情况下,这就是我所观察到的。

但是,在冷启动时,此代码将花费大约20秒的时间来执行。实际上,仅第一行,即客户端构建器,大约需要10秒钟才能完成。

这是AWS SQS Java API在冷启动时的预期性能吗?

1 个答案:

答案 0 :(得分:2)

您可以在cloudwatch上创建“保持温暖”触发器,该触发器每5至15分钟调用一次lambda使其保持温暖。每月您可以通过lambda获得一百万个免费电话,因此它对您的影响不会太大。这就是zappa之类的库如何使您的API保持温暖,因此这是一种完善的做法。

您可以阅读更多here