线上nginx从1.8版本升级到1.16版本导致nginx后端服务器的TIME_OUT过高

故障现象:将nginx升级后,nging后端的tomcat服务器的TIME_OUT由之前的300飙升到1500,甚至有的机器飙升到5000,nginx自身的tcp连接很正常也就在300左右。

故障分析:

现上原先的环境是centos6+nginx1.8

升级后的环境是centos7+nginx1.16

各种排查后一直无解

后来对比了下内核参数发现,centos6默认的内核参数中net.ipv4.tcp_timestamps = 1,而centos7该默认配置是net.ipv4.tcp_timestamps = 0,将升级后nginx所在的centos7该参数改成1就可以了。

 

网上的说法:

net.ipv4.tcp_timestamps = 1
#开启TCP时间戳
#以一种比重发超时更精确的方法(请参阅 RFC 1323)来启用对 RTT 的计算;为了实现更好的性能应该启用这个选项。

posted @ 2019-10-24 17:06  Aslan-a  阅读(813)  评论(0编辑  收藏  举报