总的来说idle timeout的配置使用可以分出这样一些使用情况:
1、内网: (1) php或cgi -------àSERVER A(仅提供服务的server)
这里php和cgi都是短连接操作后端svr A的,所以SERVER这里的idle timeout可以尽量设置的长一些
由php或cgi自己根据读、写操作的超时时间自己控制,不能采用默认的
(2) SERVER--------àSERVER A(仅提供服务的server)
公司内网的,被访问的SERVER A端应该尽量设置长一点的idle timeout,由调用端自己根据情况主动close
SERVER A端基本不主动close,避免高并发时server A 端产生大量TIME_WAIT
且这里的SERVER端可以自己去控制是否采用长连接,更灵活一些
(3) php或者cgi或者SERVER-----------àSERVER A(涉及调用很多外部接口的server)
这种情况比较关键,已经见到过多起类似产生的事故了
php或者cgi或者SERVER这里的超时时间需要非常谨慎,因为它依赖于 SERVER A调用的外部接口
如下的情况就可能导致事故:php-----超时时间默认2秒 ------àSERVER A--------à付费接口超时时间5秒
调用端必须很清楚后端的超时时间,尤其涉及多个接口时,调用段的超时时间应该设置为多个核心接口的最大超时时间
且这里的SERVER A的idle timeout也必须超过5秒钟
2、外网: (1) 用户IE------àapache
刚看了下外网的apache配置,idle timeout是60秒