美文网首页
环境CLOSE_WAIT

环境CLOSE_WAIT

作者: 禅兜 | 来源:发表于2020-06-28 15:21 被阅读0次

    今天测试环境的应用出现一直处理请求状态中
    1.请求首页无响应,一直处理请求状态

    2.使用top查询了进程情况,没有发现什么异常

    3.df命令查询了磁盘空间,也是足够的

    3.于是用netstat 命令查看了当前tcp链接的情况

    netstat -na | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

    LISTEN 2
    CLOSE_WAIT 23 # 非常异常
    TIME_WAIT 1

    发现绝大部份的链接处于 CLOSE_WAIT 状态,这是非常不可思议情况。然后用 netstat -an 命令进行了检查
    [root@my_centos chain]# netstat -anlp|grep 8015
    tcp 12 0 0.0.0.0:8015 0.0.0.0:* LISTEN 27661/java
    tcp 601 0 11.647.16.43:8015 173.230.269.152:20102 CLOSE_WAIT -
    tcp 1 0 11.647.16.43:8015 173.230.269.152:12350 CLOSE_WAIT -
    tcp 510 0 11.647.16.43:8015 173.230.269.152:15800 CLOSE_WAIT -
    tcp 510 0 11.647.16.43:8015 173.230.269.152:4378 CLOSE_WAIT -
    tcp 631 0 11.647.16.43:8015 173.230.269.152:27830 CLOSE_WAIT 27661/java
    tcp 601 0 11.647.16.43:8015 173.230.269.152:3003 CLOSE_WAIT -
    tcp 536 0 11.647.16.43:8015 173.230.269.152:6178 CLOSE_WAIT -
    tcp 1 0 11.647.16.43:8015 173.230.269.152:29755 CLOSE_WAIT -
    tcp 1 0 11.647.16.43:8015 173.230.269.152:23351 CLOSE_WAIT -
    tcp 586 0 11.647.16.43:8015 173.230.269.152:27553 CLOSE_WAIT -
    tcp 430 0 11.647.16.43:8015 173.230.269.152:10770 ESTABLISHED -
    tcp 509 0 11.647.16.43:8015 173.230.269.152:13363 ESTABLISHED -

    大量的CLOSE_WAIT
    CLOSED 表示socket连接没被使用。 LISTENING 表示正在监听进入的连接。 SYN_SENT 表示正在试着建立连接。 SYN_RECEIVED 进行连接初始同步。 ESTABLISHED 表示连接已被建立。 CLOSE_WAIT 表示远程计算器关闭连接,正在等待socket连接的关闭。 FIN_WAIT_1 表示socket连接关闭,正在关闭连接。 CLOSING 先关闭本地socket连接,然后关闭远程socket连接,最后等待确认信息。 LAST_ACK 远程计算器关闭后,等待确认信号。 FIN_WAIT_2 socket连接关闭后,等待来自远程计算器的关闭信号。 TIME_WAIT 连接关闭后,等待远程计算器关闭重发

    使用tcp抓包工具
    tcpdump -n port 8015

    分析原因:主要是客户端有太多端开的连接,而没有响应给服务端。客户端的代码没有设置请求超时和连接超时的配置,客户端未使用连接池。修改代码后,测试,没有再出现上面的问题。

    参考:https://cloud.tencent.com/developer/article/1381359

    https://www.cnblogs.com/felixzh/p/7737160.html

    相关文章

      网友评论

          本文标题:环境CLOSE_WAIT

          本文链接:https://www.haomeiwen.com/subject/srkwfktx.html