超时时间connectTimeout,socketTimeout,proxy_read_t。 民用机场
管理条例减压蒸馏。。
1、⼀般的的情况
客户端(connectTimeout,socketTimeout) -- 七层接⼊proxy (connect timeout, read timeout, keepalive timeout, send timeout)-- nginx (proxy_read_timeout,proxy_connect_timeout)-- 后端服务器
connectTimeout:建连时间
angola
socketTimeout:等待数据的时间2、为什么?
程序中设置了connectTimeout, socketTimeout可以防⽌阻塞,具体地:
如果没有connectTimeout,建⽴tcp链接时,阻塞,假死; 如果没有socketTimeout,已经建⽴的tcp链接,在传输过程中,发送的报⽂可能会因为⽹络中断引起程
序阻塞,假死;
十一五需要注意的是,socket建连时,如果⽹络层不可达,会直接抛异常,⽽不是等connectTimeout耗尽。
3、在什么情况下会出现超时?
从1中的各个层⾯设置的超时时间看,任何⼀个环节的超时,都可能引起整个结果的超时。 系统检测4、举个例⼦待遇留人
场景:客户端请求某个链接,链接功能是拿到⼤数据30天统计的结果。
⽆论怎么尝试结果都是502,gateway Timeout。
原因:后端处理数据所⽤的时长超过了proxy_read_timeout或者是proxy read timeout时间限制。(当然这⾥也有可能其他情况……)