1. 程式人生 > >記一次訪問Web服務偶爾不通問題解決過程

記一次訪問Web服務偶爾不通問題解決過程

現象:我們部署的一個WEB服務,公司使用者在訪問過程中,時不時的遇到訪問超時,訪問失敗等問題

定位:通過抓包工具分析,發現client在傳送TCP SYN包後,Server沒有回覆SYN+ACK報文

問題原因:公司使用者通過無線網路或者有線網路,均是NAT網路。開啟tcp_tw_recycle對於服務端,同一個src ip,可能會是NAT後很多機器,這些機器timestamp遞增性無可保證,伺服器會拒絕非遞增請求連線。。一般在服務端都建議關閉此引數

解決方法一:關閉net.ipv4.tcp_tw_recycle即可
 

vi  /etc/sysctl.conf

net.ipv4.tcp_tw_recycle = 1  改為net.ipv4.tcp_tw_recycle = 0

tcp_tw_recycle原理可參考:http://blog.sina.com.cn/s/blog_781b0c850100znjd.html

 

解決方法二:關閉tcp時間戳

[[email protected] ~]$ cat /etc/sysctl.conf 
net.ipv4.tcp_timestamps=0   新增

[[email protected] ~]$ cat /proc/sys/net/ipv4/tcp_timestamps
0