最近针对TIME_OUT状态进行进一步的研究,对于服务器上大量短连接导致的偶然异常问题,很多人第一想法就是先配置tcp_tw_recycle来快速解决问题,但我却不是很同意这么干,考虑到主动方TIME_OUT的2MSL时间,如果快速回收可能会导致偶然的新连接异常问题,这种问题会埋下伏笔而且可能以后更难查。
测试程序比较简单,就是for循环无sleep的连接某服务器,在socket的TIME_OUT时间内用完,其余的新连接就会抛出'Cannot assign requested address',发现怎么压测TIME_OUT的数量都是4096个,高不上去,查了一下配置