zoukankan      html  css  js  c++  java
  • fastdfs端口号占用过多导致服务器网络拥堵问题

    在测试阶段,前端小姐姐反馈接口返回慢, 查看了一下高峰时间TCP连接的情况,统计命令:
    netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 
    

      

    发现存在大量TIME_WAIT状态的连接
    tcp6       0      0 file.onepass.com:51867  file.onepass.com:8848   TIME_WAIT
    tcp6       0      0 file.onepass.com:52170  file.onepass.com:8848   TIME_WAIT
    tcp6       0      0 file.onepass.com:55700  file.onepass.com:8848   TIME_WAIT
    tcp6       0      0 file.onepass.com:54832  file.onepass.com:8848   TIME_WAIT
    tcp6       0      0 file.onepass.com:44428  file.onepass.com:8848   TIME_WAIT
    tcp6       0      0 file.onepass.com:55182  file.onepass.com:8848   TIME_WAIT
    tcp6       0      0 file.onepass.com:53286  file.onepass.com:8848   TIME_WAIT
    tcp6       0      0 file.onepass.com:56476  file.onepass.com:8848   TIME_WAIT
    tcp6       0      0 file.onepass.com:49767  file.onepass.com:8848   TIME_WAIT
    tcp6       0      0 file.onepass.com:49364  file.onepass.com:8848   TIME_WAIT
    tcp6       0      0 file.onepass.com:41321  file.onepass.com:8848   TIME_WAIT
    tcp6       0      0 file.onepass.com:58141  file.onepass.com:8848   TIME_WAIT
    

      

    通过调整内核参数解决 vi /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让参数生效。

    net.ipv4.tcp_syncookies = 1表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
    net.ipv4.tcp_tw_reuse = 1表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
    net.ipv4.tcp_tw_recycle = 1表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
    net.ipv4.tcp_fin_timeout修改系統默认的TIMEOUT时间
  • 相关阅读:
    十大经典排序算法最强总结(含Java、Python码实现)
    数据库查询优化的12种方式
    开发环境、测试环境、预发布环境、生产环境的区别
    阅站无数的我,只推荐下面这些让你起飞的
    访问控制符
    继承的意义
    数组继承的意义
    java 俄罗斯方块
    类和面向对象
    随机生成数组游戏
  • 原文地址:https://www.cnblogs.com/pzyin/p/13425881.html
Copyright © 2011-2022 走看看