首页 > 代码库 > 查看网络连接timewait问题
查看网络连接timewait问题
通过ss -s 命令,可以看到服务器的timewait状态特别多。
[root@tvreport231 ~]# ss -s Total: 103 (kernel 256) TCP: 48666 (estab 22, closed 48624, orphaned 7, synrecv 0, timewait 48623/0), ports 18
netstat也是可以看到的,但是需要添加 -a参数才能看到time_wait状态。
下面的命令复杂点,但是可以看到更多信息:
[root@tvreport231 ~]# netstat -an|awk ‘/tcp/ {print $6}‘|sort|uniq -c 11 ESTABLISHED 1 FIN_WAIT1 11 LISTEN 41300 TIME_WAIT
解决方法:
一种解决方法是利用sysctl在运行时修改内核参数
直接在文件/etc/sysctl.conf末尾添加两行设置:
net.ipv4.tcp_tw_reuse=1 net.ipv4.tcp_tw_recycle=1
然后调用sysctl -p加载之,果然效果明显
不过据说这样会影响内网用户。
sysctl文档参考:
http://www.cyberciti.biz/faq/linux-kernel-etcsysctl-conf-security-hardening/
还有一种方法是采用Nginx长连接。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。