【发布时间】:2017-08-02 07:48:13
【问题描述】:
我在 java 中创建了简单的 Lambda 函数并使用 API 网关公开它。 lambda 函数的计费持续时间为 60 毫秒,api 网关需要 40 毫秒 多来响应,因此这里的延迟为 100 毫秒。
注意:内存大小:1.5GB 使用的最大内存:40 MB。这里提到的所有响应时间都是当 lambda 函数处于热状态(活动)时
如果我们测试 AWS API Gateway 中的延迟,它会花费 100 毫秒。
如果我们在本地机器的Rest client中测试它,延迟是1500 ms。
如果我们在 EC2 实例中为同一区域和同一帐户使用(调用)此 lambda 函数,则延迟为 200 毫秒
为什么 Rest 客户端有这么多变化,我们知道原因是网络延迟。我怎样才能提高它的性能,因为我们需要在本机应用程序中使用这个 Lambda 函数,它需要将近 1500 毫秒。
对于部署在同一区域和同一帐户的 EC2 实例中的 Web 应用程序,我们得到了公平的响应,即* 200 毫秒。
【问题讨论】:
-
您必须考虑到 Lambda 并不是实时系统的最佳选择。如果客户端调用了一段时间未调用的函数,则延迟将大于经常使用的函数。使用不规律且无需等待一两秒的服务最适合此服务。
标签: java amazon-web-services amazon-ec2 aws-lambda aws-api-gateway