我有一个API V2 (协议:HTTP)风格的端点,它只是向我的Lambda函数发出请求并给出响应。我注意到,如果我在大约10分钟内没有提出请求,那么对于一个新的请求,它比之后的请求要慢得多。这是同一个函数,每次都做同样的事情,所以我不知道为什么会发生这种情况,其他人有过这种情况并找到了解决方案吗?
发布于 2022-02-25 16:34:51
原因是必须启动Lambda函数才能处理请求。
这也被称为冷启动。
启动Lambda的新实例确实需要一些时间。一旦启动,它将为多个请求提供服务。在某个时候,AWS Lambda服务将关闭您的Lambda函数。例如,当有一段时间没有任何流量时。
这就是你观察到的原因:
我注意到,如果我在大约10分钟内没有提出请求,那么对于一个新的请求,它的速度要比之后的请求慢得多。
如果没有运行Lambda的实例,并且出现了新的请求,则AWS Lambda服务需要实例化Lambda的“新”实例。
您可以阅读这个涉及到这个主题的博客:
https://aws.amazon.com/blogs/compute/operating-lambda-performance-optimization-part-1/
https://stackoverflow.com/questions/71268848
复制相似问题