AWS API Gateway无法处理并发请求并导致504个端点超时错误

时间:2018-03-28 04:05:54

标签: amazon-web-services aws-api-gateway elastic-load-balancer

我有一个node.js应用程序,它只暴露了一个路由。让我们说它是/myResource。它部署在AWS ECS Cluster中,具有5个具有良好计算能力的实例(我已经对这些实例进行了监控,这里没有问题)。

我有一个AWS API网关,来自外部的请求以及ECS群集和API网关之间的负载均衡器。

看起来如下 -

  

API网关 - >负载均衡器 - > ECS集群(5个EC2实例)

由于API网关设置了30秒的超时时间,因此到目前为止我已经排除故障,无法找到任何解决方案。

  • 检查node.js应用程序日志以查看是否有任何请求超过30秒,在这种情况下,很明显API网关将等待30秒并抛出504.但事实并非如此,所有请求在3-5秒内完成。
  • 检查负载均衡器日志,以查看负载均衡器是否花时间安排对基础实例的请求。它也没关系,它以毫秒为单位将请求传递给实例。
  • 现在,还不清楚AWS API网关在发生并发请求时的行为方式?

在应用程序日志中,我可以看到请求在3-5秒内完成,但请求之间的延迟时间超过30秒。

由于应用程序日志是干净的,这意味着它不会超过3-5秒,因此无需增加计算容量。我现在尝试的解决方案是将实例从5增加到10将计算容量减少到一半。但这不是永久的解决方案。

有关于此的任何想法吗?

0 个答案:

没有答案