码迷,mamicode.com
首页 > 其他好文 > 详细

TCP参数tcp_tw_recycle调整

时间:2014-09-15 19:52:50      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:tcp_tw_recycle

   最近一直在开发移动端的接口,在内部测试的时候发现这么个奇怪现象:

 

   现象:

   一部Android手机访问服务器响应没什么问题,当使用两部Android手机同时访问的时候会出现有一部手机访问不了接口的现象。


    解决思路:

    遇到这种问题首先想到的是使用linux命令查看下TCP连接数量,netstat -n|grep 8888

发现每当两部手机同时打开APP时只有一个TCP连接,那问题应该是在建立TCP连接上,于是带着疑问百度了一下,果然网上有很多这个样的解决方案:

关闭服务器的tcp_tw_recycle,

修改下TCP的参数:echo 0 > /proc/sys/net/ipv4/tcp_tw_recycle,

然后继续测试,问题解决。


  总结:这个总结是说明下出现该问题的场景以及解决方法,这个问题大多数出现在nat上网的场景下,原因跟TCP的设计与实现有关系:TCP协议中有个TimeStamp选项,在timewait时间里,如果还有该ip syn包到达服务器,而且timestamp是之前的间,linux会认为是重试的syn包,故而会直接drop掉。

  

  

  

本文出自 “陈砚羲” 博客,转载请与作者联系!

TCP参数tcp_tw_recycle调整

标签:tcp_tw_recycle

原文地址:http://chenyanxi.blog.51cto.com/4599355/1552790

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!