zoukankan      html  css  js  c++  java
  • 统计网络time_wait连接状态及tcpip连接数

    netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
    LAST_ACK 1
    SYN_RECV 14
    ESTABLISHED 79
    FIN_WAIT1 28
    FIN_WAIT2 3
    CLOSING 5
    TIME_WAIT 1669
     
    也就是说,这条命令可以把当前系统的网络连接状态分类汇总。
    状态:描述
    CLOSED:无连接是活动的或正在进行
    LISTEN:服务器在等待进入呼叫
    SYN_RECV:一个连接请求已经到达,等待确认
    SYN_SENT:应用已经开始,打开一个连接
    ESTABLISHED:正常数据传输状态
    FIN_WAIT1:应用说它已经完成
    FIN_WAIT2:另一边已同意释放
    ITMED_WAIT:等待所有分组死掉
    CLOSING:两边同时尝试关闭
    TIME_WAIT:另一边已初始化一个释放,等待tcp连接的数量,这个状态也是占用连接的
    LAST_ACK:等待所有分组死掉
    /****原文:记一次tomcat web应用压测调优:http://blog.csdn.net/hzzhoushaoyu/article/details/48769805
    CLOSE_WAIT的连接一般是自己程序中缺少关闭连接等引起,但是查看程序也没发现哪里没有关闭
    而且大多CLOSE_WAIT是与浏览器端的http协议下的tcp连接。后经运维排查是centos自身的BUG引起,
    升级到centos-release-6-6.el6.centos.12.2.x86_64后解决
    

      

    如发现系统存在大量TIME_WAIT状态的连接,通过调整内核参数解决,
    vim /etc/sysctl.conf
    编辑文件,加入以下内容:
    net.ipv4.tcp_syncookies = 1
    net.ipv4.tcp_tw_reuse = 1
    net.ipv4.tcp_tw_recycle = 1
    net.ipv4.tcp_fin_timeout = 30
    然后执行 /sbin/sysctl -p 让参数生效。

    /*********使用netstat和awk命令来统计网络连接数 原文:http://bbs.51cto.com/thread-1071001-1-1.html
    TIME_WAIT状态的意义:
    客户端与服务器端建立TCP/IP连接后关闭SOCKET后,服务器端连接的端口
    状态为TIME_WAIT

    常用的三个状态是:ESTABLISHED 表示正在通信,TIME_WAIT 表示主动关闭,CLOSE_WAIT 表示被动关闭。
    /*********服务器TIME_WAIT和CLOSE_WAIT详解和解决办法 原文:http://www.cnblogs.com/sunxucool/p/3449068.html
    一般不到万不得已的情况也不会去查看网络状态,如果服务器出了异常,百分之八九十都是下面两种情况:
    1.服务器保持了大量TIME_WAIT状态
    2.服务器保持了大量CLOSE_WAIT状态
    现在来说如何来解决这个问题。
    解决思路很简单,就是让服务器能够快速回收和重用那些TIME_WAIT的资源。
    对/etc/sysctl.conf文件的修改:修改完之后执行/sbin/sysctl -p让参数生效。
    所以如果将大量CLOSE_WAIT的解决办法总结为一句话那就是:查代码。因为问题出在服务器程序里头啊。

    tcpip博客:https://blog.csdn.net/he_jian1/article/details/40787269#comments

    另附,查看 并发请求数及其TCP连接状态:https://blog.csdn.net/zdwzzu2006/article/details/7713596

  • 相关阅读:
    Python 数据类型:字典
    .Net开发工程师工具箱
    Javascript事件设计模式(七)
    LINQ学习之旅 (四)
    JavaScript实现抽象类与虚方法(六)
    Javascript中的反射机制(五)
    Javascript中类的实现机制(四)
    Javascript中的函数(三)
    Javascript面向对象基础(二)
    Web应用程序项目XXXX已配置为使用IIS。无法访问IIS 元数据库。您没有足够的特权访问计算机上的IIS
  • 原文地址:https://www.cnblogs.com/Alexr/p/9362059.html
Copyright © 2011-2022 走看看