新增的一组Apache服务器上线以来,我用netstat -an命令发现服务器中有大量状态为TIME-WAIT的TCP连接,于是用/sbin/sysctl -a查看了一下Linux的各项内核参数,并翻阅有关资料,决定修改其中的两项参数,以达到减少TCP连接中TIME-WAIT sockets的目的。
vi /etc/sysctl.conf
编辑/etc/sysctl.conf文件,增加三行:
引用
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
说明:
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,表示关闭。
再执行以下命令,让修改结果立即生效:
/sbin/sysctl -p
用以下语句看了一下服务器的TCP状态:
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
返回结果如下:
ESTABLISHED 1423
FIN_WAIT1 1
FIN_WAIT2 262
SYN_SENT 1
TIME_WAIT 962
效果:处于TIME_WAIT状态的sockets从原来的10000多减少到1000左右。处于SYN_RECV等待处理状态的sockets为0,原来的为50~300。
附:TCP状态变迁图,见我的另一篇文章《查看Apache并发请求数及其TCP连接状态》
------------------------------------------------
配置Nginx+tomcat的时候发现,会有很多time wait的连接。用上法处理后,基本就解决了。。另外还有其他几个配置
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.ip_local_port_range = 5000 65000
如 fin超时时间,tcp的保活时间,以及本地端口范围
分享到:
相关推荐
标题中的"TCP.rar_28335 IP TCP_tcp 通信"可能是指一个关于TCP/IP通信的资源包,其中包含了一些与TCP相关的代码或文档,文件编号可能是"28335"。描述中提到"已经验证过了,可以编译通过",这表明这是一个实际操作过...
IP和相关协议 第9章 IP协议家族 77 9.1 TCP/IP模型 77 9.1.1 解剖TCP/IP模型 78 9.1.2 协议组件 78 9.2 理解网际协议(IP) 79 9.2.1 IPv4结构 79 9.2.2 IP做什么 80 9.3 理解传输控制协议...
MODBUS-TCP是一种广泛应用于工业自动化领域的通信协议,它基于标准的TCP/IP协议栈,将MODBUS协议与网络层的TCP(传输控制协议)相结合,实现了设备间的远程通信。MODBUS-TCP允许不同制造商的设备在以太网或任何其他...
在IT领域,网络通信是计算机系统之间交换信息的基础,而TCP(Transmission Control Protocol)作为传输层协议,是网络通信的核心部分。本篇文章将详细探讨TCP服务端和TCP客户端的概念、工作原理以及常用的工具软件。...
在Android平台上进行网络通信时,TCP(Transmission Control Protocol)是一种常用的方式,因为它提供了一种可靠的、面向连接的数据传输服务。本示例中的"android TCP server 和TCP client通信源码"着重于实现...
TCP调试助手源码是一款专为IT专业人士设计的工具,它帮助开发者深入了解TCP协议的工作机制,同时也为TCP编程提供了一个实践平台。源代码的开放性使得用户可以深入学习TCP协议的实现细节,理解网络通信的基本原理,并...
本项目名为"tcp_TCP/IP_tcp_vb.net_VB.NET.tcp_",显然,它是一个使用VB.NET语言实现的TCP/IP通信示例。 TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。它的主要...
在现代工业自动化、物联网以及嵌入式系统中,串口通信与TCP/IP网络通信是两种常见的数据传输方式。串口通信以其简单、稳定的特点广泛应用于设备间近距离通信,而TCP/IP则在广域网中占据主导地位,提供高效、可靠的...
在IT行业中,网络通信是至关重要的一个领域,TCP(传输控制协议)和MODBUS-TCP则是其中两个常见的通信协议。TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,而MODBUS-TCP是在TCP/IP协议栈上构建的一种...
TCP转发工具是一种网络工具,主要用于将TCP连接从一个端点重定向到另一个端点,它在许多场景下都非常有用,比如穿透内网限制、代理服务、数据加密等。本项目提供的是一套用Java语言编写的TCP请求中转解决方案,旨在...
在IT行业中,TCP(传输控制协议)是一种广泛用于互联网通信的可靠传输协议,它确保了数据包的有序、无丢失地传输。P2P(点对点)通信是一种网络架构,其中每个节点既是客户端也是服务器,可以直接与其他节点交换数据...
TCP/IP协议是互联网通信的基础,它定义了网络设备如何交换数据和定位网络资源。TCP(传输控制协议)和IP(互联网协议)是该协议族的两个核心组件,负责端到端的数据传输。UDP(用户数据报协议)则是另一种常用协议,...
《TCP2ComV1:串口到TCP的通信桥梁》 在现代的计算机通信领域,TCP(Transmission Control Protocol)和串口(Serial Port)是两种常见的通信方式。TCP以其高可靠性、面向连接的特性,广泛应用于互联网通信;而串口...
这个名为"ModbusTcpServer.zip"的压缩包包含了一个用C#编写的Modbus TCP服务器应用程序,它对于开发基于Modbus TCP的系统非常有帮助。 首先,让我们了解一下Modbus TCP的基本原理。Modbus TCP在标准的Modbus功能码...
**TCP端口监听工具——tcptrace** 在IT行业中,网络通信是不可或缺的一部分,而TCP(传输控制协议)作为互联网协议栈中的重要一环,其工作状态直接影响到应用层服务的稳定性和效率。tcptrace是一款强大的TCP端口...
TCP(Transmission Control Protocol)与UDP(User Datagram Protocol)是互联网协议中的两种主要传输层协议,它们在计算机网络通信中扮演着至关重要的角色。本测试工具专注于帮助开发者在创建网络通信程序时,对TCP...
一个串口转TCP的程序,能很好的满足远程串口传输、调试需求,功能如下: 1.支持打开物理串口和虚拟串口(不创建虚拟串口,但能打开其他工具创建的虚拟串口)。 2.支持通过TCP客户端连接到远程TCP服务器。 3.支持TCP...
Modbus TCP和TCP通信是工业自动化领域中广泛使用的通信协议,尤其在PLC(可编程逻辑控制器)之间进行数据交换时。本主题将深入探讨这两种通信方式及其在测试中的应用,特别是针对西门子SMART S7-200 PLC。 首先,让...
标题中的"VB(TCP-IP).rar_TCP服务器_VB TCP IP VB TCP/IP_tcp_vb客户服务器"表明这是一个关于使用Visual Basic(VB)进行TCP/IP通信的教程,特别关注TCP服务器的实现以及VB客户端和服务器之间的交互。这个压缩包可能...
标题中的“Modbus TCP_modbustcpplc_ab1756modbustcp_modbusTCP_ab_PLCMODBUS_源”关键词表明了这个压缩包是关于使用Modbus TCP协议与Allen Bradley(AB)PLC进行通信的资源集合。描述中提到的“AB PLC MODBUS TCP ...