• Nginx解决接口请求超时方案


    问题描述:

    后端代码查询缓慢,导致接口请求超时异常
    Status Code: 504 Gateway Time-out

    解决方案

    修改ngnix配置文件,增加超时时间

    server {
    	location / {
    		...
    		proxy_connect_timeout   1800;
    		proxy_send_timeout      1800;
    		proxy_read_timeout      1800;
    		...
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    1. proxy_connect_timeout:定义与后端服务器建立连接的超时时间,单位为秒。在超过指定时间后仍无法建立连接,代理服务器将中断连接并返回错误。
    2. proxy_send_timeout:定义向后端服务器发送请求的超时时间,单位为秒。如果发送请求的时间超过指定超时时间,代理服务器将中断连接并返回错误。
    3. proxy_read_timeout:定义从后端服务器接收响应的超时时间,单位为秒。如果从后端服务器接收响应的时间超过指定超时时间,代理服务器将中断连接并返回错误。

    配置以上内容即可解决问题

    其它有关ngnix超时配置参数介绍

    http {
        ...
        fastcgi_connect_timeout 3000;
        fastcgi_send_timeout 3000;
        fastcgi_read_timeout 3000;
        ...
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    1. fastcgi_connect_timeout:定义与 FastCGI服务器建立连接的超时时间,单位为毫秒(ms)。在超过指定时间后仍无法建立连接,Web 服务器将中断连接并返回错误。
    2. fastcgi_send_timeout:定义向 FastCGI服务器发送请求的超时时间,单位为毫秒(ms)。如果发送请求的时间超过指定超时时间,Web 服务器将中断连接并返回错误。
    3. fastcgi_read_timeout:定义从 FastCGI 服务器接收响应的超时时间,单位为毫秒(ms)。如果从 FastCGI服务器接收响应的时间超过指定超时时间,Web 服务器将中断连接并返回错误。

    FastCGI 和后端服务器区别:

    • FastCGI 进程是一个特定用途的进程,专门用于处理动态内容的生成和处理,通常作为 Web 服务器的插件或扩展。
    • 后端服务器是一个更通用的概念,指代提供服务的实际服务器,包括各种类型的服务组件,不仅限于 FastCGI 进程
    http {
        ...
    	keepalive_timeout  100;
        ...
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    keepalive_timeout:参数定义了 Keep-Alive 连接的最大空闲时间,即在一个 Keep-Alive 连接上没有数据交换时,服务器将保持连接打开的时间。一旦超过这个时间仍然没有数据交换,服务器将关闭该连接。

    一般来说,合适的 keepalive_timeout 可以提高性能和减少延迟,但设置过长可能会消耗服务器资源。通常情况下,建议根据实际情况和负载情况来调整 keepalive_timeout 的数值。常见的配置包括:

    • 当网站访问量较大时,可以适当增加 keepalive_timeout,以减少连接建立的开销,提高性能。
    • 若服务器资源有限或者需要及时释放连接资源时,可以适当缩短 keepalive_timeout

    Nginx 中的默认值通常是 75 秒,可进行修改。

  • 相关阅读:
    java.lang.Float类下longValue()方法具有什么功能呢?
    MySQL DTAETIME、TIMESTAMP、DATE、TIME、YEAR(日期和时间类型)
    C++学习笔记(九)
    java-net-php-python-jsp学生社团信息演示录像2019计算机毕业设计程序
    网络安全(黑客)自学
    《现代音乐人编曲手册_传统管弦乐配器和MIDI》 笔记
    一些便捷的ES语法使用记录
    Vue2源码学习笔记 - 13.响应式原理—Watcher 类详解
    软件设计模式复习
    DSPE-PEG-Hydrazide,DSPE-PEG-HZ,磷脂-聚乙二醇-酰肼MW:1000
  • 原文地址:https://blog.csdn.net/I_Am_Your_God52/article/details/136252319