记录接口请求偶发504 Gateway Time-out问题

项目场景:

我们将服务部署到A公司服务器中,使用了共五台服务器,分别是:1.NG服务器 2.日志服务器 3.缓存服务器 4.应用服务器1 5.应用服务器2 。而请求过来首先到达的是他们的物理代理服务器,然后再转发请求到我们的ng服务器,然后再到应用服务器。


问题描述

接口请求经常会网络繁忙,报504 Gateway Time-out,然后返回了个.
在这里插入图片描述


原因分析:

  1. 网络带宽问题:
    检查了下带宽,总带宽700M,峰值也才400M,同网络下其他服务并未出现该情况,所以暂时排除网络带宽问题

  2. ng配置问题:
    那么有没有可能是我们ng配置问题呢,检查了下我们的nginx.conf配置文件,发现配置的worker_connections足足有10240个,和我们云服务上的一样,所以也排除掉我们ng服务的问题

  3. 服务性能问题:
    基本所有接口都会发生这样的问题,同一个接口同样的数据,不同时间请求是偶发的出现网络繁忙,而且我们在云服务器也部署了同样的系统,并没有出现过这样的情况,所以排除服务性能问题

  4. 其他:
    剩下的最大可能就是请求到达的第一个物理代理机的问题了。由于我们系统是B2B2C的,所以请求量比较大,在现场排查之后,发现大量请求停留在SYN_RECV,没有分发到我们的代理服务器去,问题确定,由于请求量大服务器负载高,每次请求过来就需要建立TCP连接,然后请求结束后又需要关闭连接,开销大。


解决方案:

调整了这个物理代理机上的nginx配置的keepalive参数,完成以下几点:

  • 减少连接建立时间:keepalive参数允许Nginx在一定时间内保持与后端服务器的连接处于活动状态,而不是在每个请求之后立即关闭连接。这可以减少连接建立时间,因为Nginx不需要在每个请求之前重新建立TCP连接。
  • 减少后端服务器负载:通过保持与后端服务器的连接处于活动状态,keepalive参数可以减少后端服务器的连接建立和关闭的开销。这可以降低后端服务器的负载,从而减少SYN_RECV状态的问题。
  • 优化网络带宽利用率:keepalive参数可以减少网络中的TCP握手和挥手消息的数量,从而优化网络带宽的利用率。这可以减少网络拥塞的可能性,从而减少SYN_RECV状态的问题。
  • 提高请求处理效率:通过保持与后端服务器的连接处于活动状态,keepalive参数可以提高请求处理的效率。这是因为Nginx可以在同一连接上处理多个请求,而不需要在每个请求之后重新建立连接。

之后情况大大改善,基本没有再出现过504 Gateway Time-out。

相关推荐

  1. 解决 nginx 504 Gateway Time-out报错问题

    2024-05-14 06:36:03       64 阅读
  2. springboot请求406、500问题

    2024-05-14 06:36:03       56 阅读
  3. 功能问题:如何防止接口重复请求

    2024-05-14 06:36:03       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-14 06:36:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-14 06:36:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-05-14 06:36:03       82 阅读
  4. Python语言-面向对象

    2024-05-14 06:36:03       91 阅读

热门阅读

  1. 每天一个数据分析题(三百二十一)波士顿矩阵

    2024-05-14 06:36:03       27 阅读
  2. Windows安装多版本MySQL

    2024-05-14 06:36:03       30 阅读
  3. 【React】React的懒加载组件lazy和Suspense

    2024-05-14 06:36:03       31 阅读
  4. 搜维尔科技:Patchwork 3D 新功能:爆炸视图动画

    2024-05-14 06:36:03       36 阅读
  5. 数据赋能(86)——数据要素:管理核心框架

    2024-05-14 06:36:03       24 阅读
  6. 上海理工大学程序设计 F十六进制的异或

    2024-05-14 06:36:03       33 阅读