AWS Lambda作为移动应用程序后端在第一次响应时速度很慢

时间:2018-03-30 19:24:02

标签: android rest amazon-web-services amazon-ec2 aws-lambda

我想做的事情:我想在AWS上开发REST API以在我的Android应用程序中使用。此REST API的目的是调用一些其他REST API,获取和处理数据并作为响应发回。

我尝试了什么:我遵循了这个AWS教程Using AWS Lambda as Mobile Application Backend (Custom Event Source: Android)。一切都按预期工作,但第一次来自AWS的响应太慢。它大概是~8秒。但是,下一次,在同一个会话中,它会在1到2秒内响应。 这可能是因为在Lambda上设置连接和调用我的函数需要很长时间。

问题:除此之外还有其他选择吗?我希望每次都能获得快速响应,包括第一次。我正在尝试正确的事情(AWS-Lambda)还是我应该尝试其他的东西?

1 个答案:

答案 0 :(得分:2)

增加lambda配置中的内存大小。它通常使它在具有更多CPU功率的计算机中运行,使其稍微快一些。但是在你的情况下似乎大部分的延迟是因为函数变得“冷”并且aws不再在内存中。

您可以尝试一些事项:

- >减小包的大小,使其加载速度更快,第一次调用仍然会很慢,但您可能会提高几秒钟。 - >创建另一个虚拟CRON类型lambda函数,每分钟左右触发一次真正的lambda并发出一个虚拟请求,这应该有助于将你的函数保存在内存中。您可以在此处学习如何创建lambda cron函数(也称为lambda计划任务):AWS Lambda Scheduled Tasks