Nginx报错404,由于请求处理时间过长

问题复现

近期部门内部有一个应用由于数据量过于庞大,或者说sql优化性能问题,导致查询全量数据时老报错nginx404,后来查看浏览器timing信息,发现其竟然时常达到可怕的2分钟十秒,抛去解决sql优化问题,这里从Nginx端的配置来说如何解决这类问题!
Nginx报错404,由于请求处理时间过长

存在的问题

服务器处理请求时间过长,导致超出Nginx配置的代理请求超时时间,其会报错404!

解决方式

修改Nginx配置的代理请求时间(或者优化sql!!!)

具体解决步骤

  1. 找到对应Nginx的配置文件
    我是用docker部署的Nginx,读者找到自己对应的Nginx.conf文件
    Nginx报错404,由于请求处理时间过长
  2. 修改代理超时时间
    下图三个参数为代理连接超时时间、代理读取超时时间、代理传送超时时间。读者可根据需要去修改参数Nginx报错404,由于请求处理时间过长参数详解:
proxy_connect_timeout 90; 
后端服务器连接的超时时间_发起握手等候响应超时时间
proxy_read_timeout 180;
连接成功后_等候后端服务器响应时间_其实已经进入后端的排队之中等候处理(也可以说是后端服务器处理请求的时间)
proxy_send_timeout 180;
后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据
  1. 重启Nginx
    我是使用docker部署的Nginx,直接使用命令docker + restart +nginx容器名
    一定要重启Nginx!!!不然配置不会生效的!!
上一篇:Simple Testing Can Prevent Most Critical Failures: An Analysis of Production Failures in Distributed


下一篇:CryptoJS base64使用方法