Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >十个连接阻止TCP侦听器,如何解除阻塞

十个连接阻止TCP侦听器,如何解除阻塞
EN

Unix & Linux用户
提问于 2022-01-19 09:44:26
回答 1查看 408关注 0票数 -1

由于多个CLOSE_WAITs,当现有连接总数与CLOSE_WAITs等于10时,新连接失败。10连接限制在哪里,如何扩展?(很难找到如何消除CLOSE_WAIT,但这是一个不同的问题,这个问题是关于如何扩展10连接限制的。)

Ubuntu18.04内核:4.15.0-91-通用体系结构: x86_64

netstat --tcp --numeric-ports -p|grep 2225输出

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tcp       15      0 localhost:2225          localhost:42928         CLOSE_WAIT  -                   
tcp        8      0 localhost:2225          localhost:33860         CLOSE_WAIT  10570/mdp           
tcp       15      0 localhost:2225          localhost:41938         CLOSE_WAIT  -                   
tcp       15      0 localhost:2225          localhost:42800         CLOSE_WAIT  -                   
tcp       15      0 localhost:2225          localhost:40912         CLOSE_WAIT  -                   
tcp       25      0 localhost:2225          localhost:33974         CLOSE_WAIT  -                   
tcp        0      1 localhost:51842         localhost:2225          SYN_SENT    12221/telnet        
tcp       15      0 localhost:2225          localhost:41808         CLOSE_WAIT  -                   
tcp        0      0 localhost:33202         localhost:2225          ESTABLISHED 33721/controller    
tcp      481      0 localhost:2225          localhost:33596         CLOSE_WAIT  10570/mdp           
tcp       20      0 localhost:2225          localhost:33582         CLOSE_WAIT  10570/mdp           
tcp        0      0 localhost:2225          localhost:33202         ESTABLISHED 10570/mdp           

当试图连接时,我会得到“连接超时”。侦听中的待办事项设置为5.app没有(故意)限制连接。

EN

回答 1

Unix & Linux用户

发布于 2022-01-19 10:01:31

没有这样的限制(嗯,确实有,但是即使对于一个普通的系统来说,它也远远超过了40,000个连接限制)。

但是,,它是限制,限制套接字积压加服务连接(在多线程服务器的情况下)。

要验证,请在二进制文件上运行strace,并使用listen(x,y)调用对行的输出进行grep。处于CLOSE_WAIT状态的连接可能会计入总积压,因此如果这个值太低,正常数量的CLOSE_WAIT可能会阻止服务器接受新的连接。

CLOSE_WAIT意味着客户机已经关闭了连接,但是服务器还没有释放套接字。连接到该套接字的任何线程或资源仍处于繁忙状态。通常,对于服务器来说,这是没有意义的--一旦连接被终止,进程应该尽可能快地终止。如果没有,那么这意味着在代码级别存在一些问题(而TIME_WAIT可以在内核级别进行调整)。参见,例如,这篇文章

有时您可以减少CLOSE_WAIT逗留时间(请参阅这里),但真正的问题在于代码,应该在那里解决。

增加可以服务的连接数量还需要对服务器代码进行操作--这可能是一些简单的配置指令(如MaxConnections),甚至可能意味着架构更改。

在某些情况下,可能会将一个多路复用器(如雷迪尔 )放在服务器前面(也就是说:您在端口上运行原始程序,例如,127.0.0.1:12225,然后指示redir在0.0.0:2225上侦听连接,并将它们重定向到127.0.0.1:12225),这将“治愈”某些可能导致过多CLOSE_WAITs的连接错误。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/687051

复制
相关文章
Windows 技术篇-如何解除阻止程序连接网络,程序能否连接网络设置方法
打开程序前经常会弹出一个提示,是否允许程序连接网络,有时候会不小心关闭,程序就不能联网了,这时怎么来解除阻止呢? 步骤一:因为联网控制是防火墙管理的,我们在控制面板里找到防火墙,然后点击高级设置。
小蓝枣
2020/09/23
3.1K0
tcp如何维护长连接
上次提到tcp数据流无边界特点 还有一个特点那就是 TCP有长连接和短连接之分 目录结构: tcp连接的终止 — 01 — socke正常关闭 流程: 被动关闭一方接受完毕数据 然后发送
程序员小王
2018/04/13
2.9K0
tcp如何维护长连接
tcp是如何建立连接的
This post describes how to see TCP connection establishment and termination as packets using tcpdump on linux.
用户8418197
2021/09/11
1.1K0
如何判断TCP连接是否可用?
面试遇到一个问题,如何判断一个TCP连接是断开了的,这个断开的意思就是意外中断了,而不是Client或者Server主动断开了。我们知道,TCP维持一个可靠的连接,当没有发起close请求时,默认都是连接的,而Client或者Server如何得知连接的状态就需要利用其他更多方法。
泽霖
2023/11/26
3810
linux阻塞与非阻塞(connect连接超时)
EINPROGRESS The socket is nonblocking and the connection cannot be completed immediately. It is possible to select(2) or poll(2) for com‐pletion by selecting the socket for writing. After select(2) indicates writability, use getsockopt(2) to read the SO_ERROR option at level SOL_SOCKET to determine whether connect() completed successfully (SO_ERROR is zero) or unsuccessfully (SO_ERROR is one of the usual error codes listed here, explaining the reason for the failure).
全栈程序员站长
2022/07/25
6.5K0
linux阻塞与非阻塞(connect连接超时)
pika missed heartbeats from client timeout 60s 的问题
【问题场景】 客户端以 consumer 身份订阅到 rabbitmq server 上的 queue 上,客户端侧在 AMQP 协议的 Connection.Tune-Ok 信令中,设置 heartbeat 为 0,即要求服务器侧不启用 heartbeat 功能。服务器由于异常断电原因停止服务,结果客户端在短时间内无法感知到服务器端已经异常。
周小董
2019/03/25
4.8K0
如何进行千万级TCP连接测试
前面我们已经介绍了使用 Jmeter 进行 TCP 海量连接的测试,但是使用 Jmeter 需要分布式模式,而且就算是分布式模式占用资源也很多,所以我们需要一种节省资源且能达到更高规模连接的方式。今天,它来了。
Python研究所
2022/06/17
2.6K1
TCP连接是如何建立和终止的?
服务器在客户端建立连接时刚好断电。可以看出客户端进行了重试,但是重试之间的时间间隔第一次是5.81秒,而第二次间隔是24.00秒。
爬蜥
2019/07/08
1.7K0
TCP连接是如何建立和终止的?
nodejs是如何处理tcp连接的
前几天和一个小伙伴交流了一下nodejs中epoll和处理请求的一些知识,今天简单来聊一下nodejs处理请求的逻辑。我们从listen函数开始。
theanarkh
2021/03/15
9590
Tcp连接建立与连接释放
1)客户端给服务器发送了一条将其SYN标志位置1的请求连接建立报文,然后其状态由closed转变为SYN-SENT(同步已发送)。
你的益达
2020/08/25
3.7K0
Tcp连接建立与连接释放
并发-并行-阻塞-非阻塞-异步-同步-长连接-短连接-进程-线程-协程
并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行。所以无论从微观还是从宏观来看,二者都是一起执行的。
分母为零
2020/05/25
7470
【Android 异步操作】Handler 机制 ( MessageQueue 消息队列的阻塞机制 | Java 层机制 | native 层阻塞机制 | native 层解除阻塞机制 )
之前在 【Android 异步操作】手写 Handler ( 消息队列 MessageQueue | 消息保存到链表 | 从链表中获取消息 ) 中 , 模仿 Android 的 MessageQueue 手写的 MessageQueue , 使用了如下同步机制 ,
韩曙亮
2023/03/28
1.3K0
如何用 nodejs 编写TCP长连接应用
本文通过讨论TCP长连接的基本特性和原理,结合TCP应用层协议的设计给出一个基本的nodejs实现,供大家参考与探讨。
coder_koala
2019/12/20
2.2K0
如何用 nodejs 编写TCP长连接应用
如何实现WebRTC播放Turn服务支持TCP连接?
在 EasyDSS、EasyNVR、EasyCVR、EasyGBS 等视频平台中支持 WebRTC 播放功能,其中有个流程需要到 stun/trun 服务器中进行网络打洞操作。
TSINGSEE青犀视频
2021/12/07
1.1K0
面向数据连接:TCP
接收窗口 : 用于流量控制。 (如果接收窗口为 X, 那么就表示能接收 Xbit的数据)
用户11097514
2024/05/31
1200
面向数据连接:TCP
TCP连接及其优化
作为一个后端程序员,网络连接这块是一个绕不过的砍,当你在做服务器优化的时候,网络优化也是其中一环,那么作为网络连接中最基础的部分- TCP连接你了解吗?今天我们来仔细看看这个部分。
健程之道
2019/11/02
1.8K0
tcp自连接问题
现象重现 在linux主机下运行下面的python脚本,等待一会即可出现。 import socketimport timeconnected=Falsewhile (not connected): try: sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM) sock.setsockopt(socket.IPPROTO_TCP,socket.TCP_NODELAY,1
李海彬
2018/03/22
2.3K0
tcp自连接问题
阻塞/非阻塞读写总结、tcp网络编程的本质、muduo::Buffer设计简介
该文介绍了muduo库的EventLoop、Buffer、EventLoopThread等基本概念,以及其网络编程模型。通过示例阐述了muduo中EventLoop的两种触发模式、线程安全和非阻塞性,以及其与muduo::Loop的关系。还讲解了Buffer的读写操作,以及其在muduo网络编程模型中的作用。
s1mba
2017/12/28
3.4K1
阻塞/非阻塞读写总结、tcp网络编程的本质、muduo::Buffer设计简介
【防护】如何阻止SELECT * 语句
利用思路(仅供参考): 今天在网上看了一篇文章,是用来防止select * 的思路,其实这个可以用于安全防护的,在你出现注入的时候很多都是解猜,很多脚本小子都会用selcet * 或者 or 1=1 之类的解猜所有,但如果你一查所有就报错呢?是不是能有效的防防那些脚本小子呢? 我们每个人都知道是个不好的做法,但有时我们还是要这样做:我们执行SELECT * 语句。这个方法有很多弊端: 你从你的表里返回每个列,甚至后期加的列。想下如果你的查询里将来加上了VARCHAR(MAX)会发生什么…… 对于指定的查询
逸鹏
2018/04/09
9960
【防护】如何阻止SELECT * 语句
阻塞与非阻塞的区别verilog_如何理解阻塞和非阻塞
阻塞就是干不完不准回来, 非阻塞就是你先干,我现看看有其他事没有,完了告诉我一声
全栈程序员站长
2022/09/16
2.3K0

相似问题

终止进程阻塞TCP端口

10

如何在开机时解除无线网络阻塞?

10

iptables规则解除阻止internet访问,并在3600秒后再次阻止它。

30

列出TCP连接

10

删除所有输入的TCP侦听器?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文