gpt4 book ai didi

performance - 如何保持所需数量的 AWS Lambda 函数容器温暖

转载 作者:行者123 更新时间:2023-12-04 00:37:18 26 4
gpt4 key购买 nike

在我的项目中,有在 AWS API Gateway 和 AWS Lambda 上实现的 REST API。由于 AWS Lambda 函数在我们调用它时是无服务器且无状态的,因此 AWS 使用处理我们调用的 Lambda 函数代码启动一个容器。根据AWS documentation在 lambda 函数执行完成后,AWS 不会停止容器,我们可以在该容器中处理下一个调用。这种方法提高了服务的性能——只有在第一次调用 AWS 时才花时间启动容器(Lambda 函数的冷启动),并且所有下一次调用的执行速度更快,因为它们使用相同的容器(热启动)。

作为提高性能的下一步,我们创建了 cron 作业,它定期调用我们的 Lambda 函数(为此我们使用 Cloudwatch 规则)。这种方法允许保持 Lambda 函数“温暖”,从而避免容器的停止和重新启动。 IE。当真正的用户调用我们的 REST API 时,Lambda 不会花时间来启动一个新的容器。

但是我们遇到了这个问题——这种方法只允许保温一个 Lambda 函数容器,而来自不同用户的实际并行调用数量可能要大得多(在我们的例子中是数百甚至数千个用户)。有什么方法可以为 Lambda 函数实现预热功能,它不仅可以加热单个容器,还可以加热一些所需数量的容器?

我知道这种方法会影响 Lambda 函数的使用成本,并且可能使用好的旧应用程序服务器会更好,但我认为这些方法及其成本的比较将是下一步,目前我只想找到加热所需数量的 Lambda 函数容器的方法。

最佳答案

AWS 刚刚宣布了这一点:

https://aws.amazon.com/about-aws/whats-new/2019/12/aws-lambda-announces-provisioned-concurrency/

请注意,虽然它不是免费的,而且对于我们保持 10 个 lambda 实例温暖的简单用例,我们的每日成本似乎将从 0.06 美元增加到 4 美元

关于performance - 如何保持所需数量的 AWS Lambda 函数容器温暖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51210445/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com