在检查服务器时,发现有很多连接超时情况出现,用netstat命令查看,tcp的time_wait状态较多,需要进行优化。

1、 看一下现在time_wait的数量
netstat -an | grep TIME_WAIT | wc -l

2、发现系统存在大量TIME_WAIT状态的连接,通过调整内核参数解决,在 /etc/sysctl.conf中加入

net.ipv4.tcp_tw_recycle = 1 (表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭)

net.ipv4.tcp_fin_timeout=30 (修改系統默认的 TIMEOUT 时间)

然后执行 /sbin/sysctl -p 让参数生效。

3、看看系统的tcp参数情况

sysctl -a|grep tcp

linux服务器上tcp有大量time_wait状态的解决方法和原因解释 - 小树 - wuzhangshu927 的博客

修改生效后,time_wait数会明显下降。

TIME_WAIT状态存在的理由:

主动关闭的Socket端会进入TIME_WAIT状态,并且持续2MSL时间长度,MSL就是maximum segment lifetime(最大分节生命期),这是一个IP数据包能在互联网上生存的最长时间,超过这个时间将在网络中消失。MSL在RFC 1122上建议是2分钟,而源自berkeley的TCP实现传统上使用30秒,因而,TIME_WAIT状态一般维持在1-4分钟。

明明就已经主动关闭连接了为啥还要保持资源一段时间呢?这个是TCP/IP的设计者规定的,主要出于以下两个方面的考虑:

1、防止上一次连接中的包,迷路后重新出现,影响新连接(经过2MSL,上一次连接中所有的重复包都会消失)

2、可靠的关闭TCP连接。在主动关 闭方发送的最后一个 ack(fin) ,有可能丢失,这时被动方会重新发fin, 如果这时主动方处于 CLOSED 状态 ,就会响应 rst 而不是 ack。所以主动方要处于 TIME_WAIT 状态,而不能是 CLOSED 。另外这么设计TIME_WAIT 会定时的回收资源,并不会占用很大资源的,除非短时间内接受大量请求或者受到攻击。

linux服务器上tcp有大量time_wait状态的解决方法和原因解释相关推荐

  1. 如何在腾讯云服务器上安装安全狗提高网站安全解决方法总结

    如何在腾讯云服务器上架设安全狗提高网站安全解决方法总结 步骤方法:以下步骤是我自己在学习研究时一步步实操过来的,对于新手很有帮助意义. 1.先登录腾讯云服务器,https://cloud.tencen ...

  2. Linux服务器上挂载window本地iso镜像文件的方法。

    mount //10.7.21.25/linux -o username=Administrator,password=H@nD0ng /mnt/ 10.7.21.25是window的地址 Linux ...

  3. linux服务器上网页变形,Linux服务器上用iScanner删除网页恶意代码的方法

    第一步:安装 首先要确保服务器上已经安装了Ruby 复制代码代码如下: #ruby -v //查看ruby的版本信息 如果服务器上没有安装,可以通过yum或者apt-get安装ruby(根据自己服务器 ...

  4. 关于Linux服务器上部署tomcat项目,输入数据乱码解决

    在linux上部署java项目时一定不要忘记在数据库连接字段中加上 ?characterEncoding=utf-8 这个在windows上本地的mysql配置的utf-8可以不需要添加,但是在lin ...

  5. 云服务器开启TCP Server 客户端无法连接的解决方法

    一.问题描述 华为云服务器运行TCPServer后,等待客户端连接,客户端一直无法连接到服务器.经过测试,客户端可以ping通服务器的地址. 客户端网络防火墙已经完全放开. 二.解决办法 1.查看云服 ...

  6. 打开ftp服务器上的文件夹时发生错误解决方法

    1.打开IE游览器->工具->Internet选项 2.高级->找到"使用被动FTP(用于防火墙........)"把√去掉->应用 4.完成

  7. springboot打成jar包后linux服务器上无法读取resources资源文件里文件路径的问题

    1.起因 将支付验正证书信息放在项目的resources资源文件下在本地通过 this.getClass().getResource("/").getPath() 可以正常读取证书 ...

  8. web服务器没有对应站点,原因:您的请求在Web服务器中没有找到对应的站点的解决方法...

    宝塔主机面板网站提示您的请求在Web服务器中没有找到对应的站点的解决方法的原因分析及解决方法,环境吧分享BT宝塔面板没有找到站点的原因及解决方法: 宝塔面板报错提示:没有找到站点 宝塔面板没有找到站点 ...

  9. Linux服务器上测试TCP/UDP端口的连通性

    目录 说明 测试tcp端口的连通性: 使用nc命令来测试udp端口的连通性: 使用nc命令来测试tcp端口的连通性: 使用案例如下: 说明 翻译自: How to Test Port[TCP/UDP] ...

最新文章

  1. 访问图像中每个像素的值
  2. 常见索引结构—跳跃表
  3. java 自定义 operator_见微知著——从自定义类型的operator==说起
  4. 二叉树的前序中序后序 递归与非递归解法
  5. 高等数学复习笔记(一)- 高等数学基础知识、数列与函数的极限
  6. OTT网络电视直播APP运营平台-如何保证视频的流畅性
  7. 恩智浦电磁组智能汽车竞赛视频
  8. 小程序倒计时,刷新页面不重置
  9. 屏幕尺寸、屏幕分辨率、高清屏、屏幕像素密度
  10. OCR文字识别软件在线如何操作?
  11. CSS文字排版终极指南
  12. Sematic UI框架的学习-button样式(2)
  13. 用一年时间如何能掌握 C++ ?
  14. ISCC2021——web部分
  15. 中国剩余定理(孙子定理)
  16. 零基础手把手教你做FMEDA
  17. 研华板卡1742U--瞬时读值 用 instantAiCtrl1 控件
  18. 散列函数设计:除留余数法
  19. ACM 训练大纲【CSUST_ACM】
  20. 如何应对不间断电源(UPS)设计挑战

热门文章

  1. 修改MySQL 数据库 密码
  2. 分类算法及其应用场景
  3. 为什么要使用 spring?
  4. 全模型驱动架构(f-MDA)的基本思想
  5. C# 农历日期帮助类
  6. Android模仿手机京东商城实训小项目(含源码)
  7. 计算机辅助英语教学 教材,英语教学课中计算机辅助
  8. 基于Python的旅游景点的数据采集与分析的研究
  9. html按钮相对位置,html相对定位绝对定位
  10. java调用face_【AI】Java+Fileupload+JSTL+Face++实现人脸识别系统