我目前正在使用AWS Lambda将内部应用程序用于使用jrestless实现的spring框架进行应用程序调用。
应用程序调用的应用程序完美且具有良好的延迟(理想情况下为~10-15ms)
但是当我试图通过API网关利用相同的lambda函数时,延迟时间可达700-800毫秒。即使我的lambda函数使用相同的10-15 ms。
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呼叫。
有没有人遇到过类似的问题?
答案 0 :(得分:2)
我也遇到过api网关的延迟问题,但我没有确切的数据。但是截至目前,设计api网关存在延迟问题,而且还在不断发展。
https://forums.aws.amazon.com/thread.jspa?threadID=225458
根据工程师的说法,我认为700ms有点高。
以防万一另外担心lambda是热启动和冷启动。当你第一次调用lambda时,延迟有点高。如以下博客文章中所述,有几种解决方法可以解决这个问题
答案 1 :(得分:2)
Latency
和IntegrationLatency
。 Latency
是API网关记录的服务器端延迟总时间,而IntegrationLatency
只是后端请求/响应的延迟。这两个指标之间的差异是API网关服务器端开销。客户端延迟与Latency
指标之间的任何差异都将是网络/ TLS /连接延迟。duration
只是您需要支付的功能持续时间。它并不表示总延迟。