最近在做一个项目,用到HttpClient查询数据,由于服务端强制做成了短链接(大家都知道http1.1默认是带有keepalive机制),导致了请求方TCP状态很多都是TIME_WAITZ状态,端口被全部占用,请求失败
调优过程:
首先:
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=20 ,结果问题还是存在
接着查看了TCP参数,发现net.ipv4.tcp_tw_timeout 参数,凭直觉这个应该是TIME_WAIT过期时间,改成20,效果明显,解决问题
总结下:
net.ipv4.tcp_tw_reuse 这个参数启用,必须要应用程序做配置,用户态程序必须手动设置了socket是so_reuseaddr,否则无效果
net.ipv4.tcp_tw_recycle 这个参数主要底层运算还是需要根据TIME_WAIT过期时间,这个不调整,启用这个参数也没有效果
net.ipv4.tcp_tw_timeout 这个顾名思义就是TCP状态中TIME_WAIT的过期时间,默认情况是60秒
net.ipv4.tcp_fin_timeout 这个参数是TCP状态中FIN_WAIT2的过期时间
相关推荐
## 一、TCP/IP调优概述 ### 1.1 TCP/IP调优的重要性 在高带宽广域网络中,TCP/IP协议的性能调优对于实现高效的数据传输至关重要。随着网络技术的发展和应用需求的增长,优化TCP/IP参数成为提升网络性能的关键手段...
本文将详细探讨TCP中的长连接和短连接,这两种连接方式在实际应用中的差异和选择。 长连接,也称为持久连接,指的是客户端(Client)与服务器端(Server)在完成连接建立后,保持连接状态不立即断开,以便于进行多...
TCP短连接通常用于一次性或短暂的通信,如HTTP请求。当一次通信完成后,客户端和服务器会立即断开连接,节省资源。这种模式适用于不需要频繁交互或者每次交互完成后不需要保持上下文的状态的场景。 TCP长连接则常...
在Java编程中,TCP(传输控制协议)常用于构建稳定、可靠的数据通信。TCP长连接是一种保持客户端与服务器端长时间连接的技术,以便于进行高效的数据交互。心跳机制是维持长连接的关键,它用来检测网络连接是否中断,...
这些文件可以作为学习和参考的材料,帮助开发者理解如何在实际项目中实现TCP短连接。 总结来说,MFC提供了一种方便的途径来实现TCP网络通信,尤其是在Windows环境下。短连接方式适合一次性的通信需求,通过CSocket...
Linux 下 TCP 参数优化 Linux 操作系统的网络性能优化是提高服务器性能的关键所在。其中,TCP 参数的优化对网络性能的影响非常大。本文将详细介绍 Linux 下 TCP 参数的优化,包括 CLOSE_WAIT 状态的生成原因、proc/...
tcp连接是网络编程中最基础的概念,基于不同的使用场景,我们一般区分为“长连接”和“短...长短连接的优点和缺点这里就不详细展开了,有心的同学直接去google查询,本文主要关注如何解决tcp短连接的TIME_WAIT问题。
Modbus TCP DLL(动态链接库)源码是一个用于开发与Modbus TCP协议交互的应用程序的重要资源。Modbus是一种广泛使用的工业通信协议,特别是在自动化设备和系统之间交换数据时。了解和利用这个源码能帮助开发者深入...
微信小程序 TCP,IP长连接 (源码)微信小程序 TCP,IP长连接 (源码)微信小程序 TCP,IP长连接 (源码)微信小程序 TCP,IP长连接 (源码)微信小程序 TCP,IP长连接 (源码)微信小程序 TCP,IP长连接 (源码)微信小程序 TCP,IP长...
TCP(Transmission Control Protocol)协议是互联网上应用最广泛的一种网络传输层协议,它为应用程序提供了全双工、可靠的数据通信服务。TCP通过确认机制、序列号、重传和流控制等特性确保数据的准确无误地传输。在...
在TCP/IP通信程序设计中,长连接和短连接是两种主要的连接方式,它们各自有其特点和适用场景。理解这两种连接方式对于开发者来说至关重要,因为它们直接影响到系统的效率、资源管理和安全性。 **长连接**是指客户端...
"Tcp链接数修改工具"就是用来解决这个问题的,它允许用户根据自己的需求自定义系统的TCP半开连接数,从而可能提高上网和下载的速度。 TCP连接分为三个阶段:建立连接(三次握手)、数据传输和关闭连接(四次挥手)...
微信小程序源码 TCP,IP长连接(学习版)微信小程序源码 TCP,IP长连接(学习版)微信小程序源码 TCP,IP长连接(学习版)微信小程序源码 TCP,IP长连接(学习版)微信小程序源码 TCP,IP长连接(学习版)微信小程序源码 TCP,IP长...
windows查看每个程序建立的TCP链接数量
在这里,我们主要介绍了两方面的调优内容:ulimit 修改系统限制配置和 TCP 优化修改。 1. ulimit 修改系统限制配置 ulimit 是一个用于限制用户对系统资源的使用的命令。在 Linux 服务器中,我们可以通过修改 /etc/...
* 调整 TCP socket 的发送和接收 buffer:net.ipv4.tcp_wmem 和 net.ipv4.tcp_rmem,需要根据服务器硬件配置和其他部署服务进行调整。 六、Server.properties 文件优化 * 修改 server.properties 文件中参数值:...
在本文中,我们将深入探讨如何使用JMeter 5.1.1版本进行TCP连接,发送protobuf消息到服务端,并接收返回的结果。这是一个基于Maven构建的项目,其中服务端使用了Vert.x框架和Kotlin语言。我们将从以下几个方面展开...
TCP长连接与短连接示意图
TCP/IP协议是互联网通信的基础,它定义了网络设备如何交换数据和定位网络资源。TCP(传输控制协议)和IP(互联网协议)是该协议族的两个核心组件,负责端到端的数据传输。UDP(用户数据报协议)则是另一种常用协议,...
### Linux内核调优知识点详解 #### 一、概述 在Linux系统中,内核参数的合理配置对于提升系统的性能至关重要。特别是在服务器环境下,合理的内核调优不仅可以提高系统的响应速度,还可以有效防止某些类型的攻击(如...