AWS ApiGateway 延迟问题
AWS ApiGateway Latency Issue
我目前正在将 AWS Lambda 用于我的内部应用程序到使用 spring 框架的应用程序调用,该框架由 jrestless 实现。
应用程序到应用程序调用运行良好,延迟适中(理想情况下约为 10-15 毫秒)
但是当我尝试通过 API 网关利用相同的 lambda 函数时,延迟会飙升至 700-800 毫秒。即使我的 lambda 函数花费相同的 10-15 毫秒。
Lambda 函数配置:
VPC: open(no vpc)
Region: ap-south-1(Mumbai)
Memory: 1500 MB(Highest)
Timeout: 5 min(Highest)
API 网关配置:
Region: ap-south-a(Mumbai)
Request Integration: proxy+
Request Method: ANY
没有使用身份验证,它是一个 HTTPS 调用。
有没有人遇到过类似的问题?
我也遇到了 api 网关的延迟问题,但我没有这方面的确切数字。但是,根据设计 api 网关目前存在延迟问题,并且该问题仍在持续。
https://forums.aws.amazon.com/thread.jspa?threadID=225458
根据工程师的说法,我认为 700 毫秒更高一些。
以防万一有人担心 lambda 作为热启动和冷启动。当您第一次调用 lambda 时,延迟有点高。并且有一些解决方法可以解决这个问题,如下面的博客 post
中所述
- 如果您好奇延迟是在哪里引入的,API Gateway 提供了两个 CloudWatch 指标:
Latency
和 IntegrationLatency
。 Latency
是 API 网关记录的服务器端总延迟,IntegrationLatency
只是后端 request/response 的延迟。这两个指标之间的区别是 API 网关服务器端开销。客户端延迟和 Latency
指标之间的任何差异都是 network/TLS/connection 延迟。
- 我们最近推出了 'Regional' 端点类型,这是一个选项,适用于客户端与 API 本身位于同一 AWS 区域的用例。这应该会使您的延迟更接近于直接调用 Lambda 时的延迟。
- 延迟通常会随着音量的增加而改善
- Lambda 本身总会有开销,并且它们不会暴露服务器端开销(与 API 网关不同)。 Lambda 公开的
duration
只是您需要支付费用的功能持续时间。它并不表示总延迟。
我目前正在将 AWS Lambda 用于我的内部应用程序到使用 spring 框架的应用程序调用,该框架由 jrestless 实现。
应用程序到应用程序调用运行良好,延迟适中(理想情况下约为 10-15 毫秒)
但是当我尝试通过 API 网关利用相同的 lambda 函数时,延迟会飙升至 700-800 毫秒。即使我的 lambda 函数花费相同的 10-15 毫秒。
Lambda 函数配置:
VPC: open(no vpc)
Region: ap-south-1(Mumbai)
Memory: 1500 MB(Highest)
Timeout: 5 min(Highest)
API 网关配置:
Region: ap-south-a(Mumbai)
Request Integration: proxy+
Request Method: ANY
没有使用身份验证,它是一个 HTTPS 调用。
有没有人遇到过类似的问题?
我也遇到了 api 网关的延迟问题,但我没有这方面的确切数字。但是,根据设计 api 网关目前存在延迟问题,并且该问题仍在持续。
https://forums.aws.amazon.com/thread.jspa?threadID=225458
根据工程师的说法,我认为 700 毫秒更高一些。
以防万一有人担心 lambda 作为热启动和冷启动。当您第一次调用 lambda 时,延迟有点高。并且有一些解决方法可以解决这个问题,如下面的博客 post
中所述- 如果您好奇延迟是在哪里引入的,API Gateway 提供了两个 CloudWatch 指标:
Latency
和IntegrationLatency
。Latency
是 API 网关记录的服务器端总延迟,IntegrationLatency
只是后端 request/response 的延迟。这两个指标之间的区别是 API 网关服务器端开销。客户端延迟和Latency
指标之间的任何差异都是 network/TLS/connection 延迟。 - 我们最近推出了 'Regional' 端点类型,这是一个选项,适用于客户端与 API 本身位于同一 AWS 区域的用例。这应该会使您的延迟更接近于直接调用 Lambda 时的延迟。
- 延迟通常会随着音量的增加而改善
- Lambda 本身总会有开销,并且它们不会暴露服务器端开销(与 API 网关不同)。 Lambda 公开的
duration
只是您需要支付费用的功能持续时间。它并不表示总延迟。