Linux系统支持的最大TCP连接是多少?

Linux系统支持的最大TCP连接是多少?,第1张

1.首先,客户端和服务器建立的每个TCP连接都会占用服务器内存,所以最大TCP连接数和内存成正比。简单估算为最大内存除以单TCP连接占用的最小内存

2.Linux *** 作系统中,一切都是文件。所以每个TCP连接,都会打开一个文件。为此Linux *** 作系统限制了每个用户能打开的文件数量,通过ulimit -n 查看。修改方式:

vi /etc/security/limits.conf文件,在文件中添加如下行(限制修改为10240):

speng soft nofile 10240

speng hard nofile 10240

3.Linux *** 作系统中,TCP连接数量还受到端口数量限制,由于端口号只有1-65535,所以最大TCP连接数也只有65535个(包括系统端口1-1024)

4.Linux *** 作系统对所有用户最大能打开文件的限制:cat /proc/sys/fs/file-max。

5.网络核心模块对tcp连接的限制(最大不能超过65535):

vi /etc/sysctl.conf

net.ipv4.ip_local_port_range = 1024 65000

6.防火墙对tcp连接的限制

综上,在Linux *** 作系统中,首先对TCP连接数量的限制依次有:端口数量限制,网络核心限制,最大文件数量限制(因为每建立一个连接就要打开一个文件),防火墙限制,用户打开文件限制

都是传智播客出版的书上的知识,他们官网也都有。可以去官网多看看视频学学。

不管是什么系统的服务器,客户连接到服务器的最明显的看出来就是TCP的显示。

一般分为两种情况:

1.CC攻击的表现情况

CC攻击会造成访问量增大,带宽图上的代表TCP访问量(红色)会忽然不正常的增高。CPU的占用量增大,然后造成打开慢或者卡死的情况。

所以看到如果是TCP,突然增大的话,证明你的服务器在遭受CC攻击,可以联系服务器商,让机房做下防御策略。

2.如果TCP的连接量一直在一个区域一直很大的话,那检查服务器的资源,可能无法支撑访问量,需要更大的资源,更高的配置支持。

linux上要开启TCP Fast Open,内核版本至少为3.7.0, 且需要设置 /proc/sys/net/ipv4/tcp_fastopen 为3.

开启后,如果有连接进来,使用如下命令查看:

grep '^TcpExt:' /proc/net/netstat | cut -d ' ' -f 91-96 | column -t

例如:

如果 TCPFastOpenPassive 在增长,表示接受到了fast open的tcp连接


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8312552.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-15
下一篇2023-04-15

发表评论

登录后才能评论

评论列表(0条)

    保存