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

标签 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 在冷启动时的预期性能吗?

最佳答案

您可以在 cloudwatch 上创建一个“保持温暖”触发器,它每 5-15 分钟调用一次 lambda 以保持温暖。您每个月都会在 lambda 上接到一百万个免费电话,所以它应该不会对您造成太大影响。这就是像 zappa 这样的库如何让你的 API 保持温暖,所以这是一个公认的做法。

您可以阅读更多here .

关于amazon-web-services - lambda 中的 AWS SQS 操作在冷启动时花费的时间太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58421359/

相关文章:

amazon-web-services - Docker nfs4 安装在 Elastic Beanstalk 上

amazon-web-services - 在 AWS Lambda 上记录错误和异常

node.js - 如何在 nodeJS 中获取 AWS SQS 队列 ARN?

javascript - AWS SQS 1队列2订阅者

node.js - 使用 lambda 函数在 S3 中解压缩文件真的很慢

javascript - 如何实际跟踪 S3 上传进度(JavaScript SDK)

python - 在 AWS Lambda 函数中导入 numpy 时出现问题

django - 将 Celery 与 SQS 一起使用时,错误 111 连接被拒绝

amazon-web-services - EC2 安全组与 IAM 组?

amazon-web-services - 您可以在哪里更改触发 AWS Lambda 函数的 SQS 队列的批处理大小?