`
huangjf
  • 浏览: 7974 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

TCP短链接调优

 
阅读更多

最近在做一个项目,用到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的过期时间

分享到:
评论

相关推荐

    考研教材408:操作系统和计算机网络

    7. 网络性能分析与优化:涉及带宽、延迟、吞吐量等网络性能指标,以及TCP/IP性能调优的方法。 这些是考研中操作系统和计算机网络的主要知识点,通过阅读《谢希仁第五版》和《汤小丹第三版》这两本教材,可以深入...

    后台开发常问面试题集锦(问题搬运工,附链接)

    理解Socket、TCP/IP协议、HTTP长连接和短连接等概念对于编写高性能的网络应用非常重要。同时,安全算法面试题,如支持O(1)时间复杂度操作的栈的实现、Bloom Filter等也是考察候选者是否具有扎实的计算机基础和解决...

    php 长连接服务器端

    - 性能优化:包括服务器性能调优、缓存策略、负载均衡等,以应对高并发场景。 总之,PHP长连接服务器端是实现Web即时通讯的重要技术手段,通过Comet或WebSocket等技术,可以创建高效、实时的通讯系统。在实际开发中...

    2019 秋招腾讯 C++面试经验(1).doc

    29. **全局变量初始化顺序**:在链接阶段确定,依赖于链接器和编译器的具体实现。 30. **strace指令**:用于跟踪和调试进程的系统调用和信号。 31. **数据安全**:包括加密技术、完整性校验,如MD5,以及防止未...

    Linux应用系统开发及系统调试.txt

    - **网络编程基础**:了解TCP/IP协议栈、socket编程接口。 - **HTTP原理**:深入分析HTTP协议的工作机制、状态码含义等。 - **Socket编程**:掌握Socket编程的基本流程,包括服务器端与客户端的实现。 #### 五、...

    重要基础知识.docx

    16. **HTTP1.0、1.1和2.0**:HTTP/1.0主要支持短链接,HTTP/1.1引入持久连接和管线化,HTTP/2引入二进制分帧和多路复用,显著提高了效率。 17. **JVM参数及相关**:JVM参数用于调整堆内存大小、栈内存、垃圾收集...

Global site tag (gtag.js) - Google Analytics