linux服务器支持的TCP连接数

转载自 https://www.toutiao.com/i6904868846055391751/?timestamp=1607907150&app=news_article&group_id=6904868846055391751&use_new_style=1&req_id=20201214085230010202091096506F4443

TCP连接四元组:源IP地址、源端口、目的IP地址、目的端口

 

结论:和服务器的内存大小,服务器的内存分配设置,TCP连接传输的数据量  等有关

 

nginx的端口可能指定的是80端口,目标IP是服务器本身,所以源IP和源端口是可变的

 

linux中一切皆文件,所以tcp连接(socket)也会创建文件(内存文件),不会创建在磁盘上,或者说是一个文件标识符(file descriptor),类似文件,操作的接口和文件相同,都是open,close

如果同时保持很多个TCP连接,就是系统会打开很多个socket的标识符,打开文件会消耗内存资源

linux系统出于安全角度的考虑,在多个位置都限制了可打开的文件描述符的数量,包括系统级、用户级、进程级。这三个限制的含义和修改方式如下:"

  • 系统级:当前系统可打开的最大数量,通过fs.file-max参数可修改
  • 用户级:指定用户可打开的最大数量,修改/etc/security/limits.conf
  • 进程级:单个进程可打开的最大数量,通过fs.nr_open参数可修改

 

 

另外tcp连接还会有数据传输,就要有接收的缓存区,即使是空的连接不传数据,也会默认分配一定的大小

可以通过命令来查看接收缓存区大小

sysctl -a | grep rmem

 

 

 4096代表TCP连接所需分配的最少字节数默认4k内存,16777216代表最大会分配16M

 

综上,服务器本身内存的大小 + 服务器的文件描述符最大打开数的配置 + TCP连接的传输的数据量

三个主要因素影响了一台linux服务器的TCP连接数

 

推荐这些文章:

通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。

 
 

 
 
 

 
 
 操作:所以所有修改操作结束后,右键选择重新启动sqlserver服务
 
 

...

如何“快准狠”找到系统内存的问题?

 
 

 

...

统计当前系统的TCP连接状态的种类以及对应的个数

统计当前系统的TCP连接状态的种类以及对应的个数

 
 

netstat -nat | grep tcp | awk -F' ' '{}'

 

雪儿言

...

MYSQL 查看最大连接数和修改最大连接数

MYSQL 查看最大连接数和修改最大连接数

MySQL查看最大连接数和修改最大连接数
1、查看最大连接数show variables like '%max_connections%';2、修改最大连接数set GLOBAL max_connections = 200;
  以下的文章主要是向大家介绍的是MySQL最大连接数的修改,我们大家都知道MySQL最大连接数的默认值是100, 这个数值对于并发连接很多的数据库的应用是远不够用的,当连接请求大于默认连接数后,就会出现无法连接数据库的错误,因此我们需要把它适当调大一些。在使 用MySQL数据库的时候,经常会遇到这么一个问题,就是...

swoole 创建TCP服务器

1:查看端口有没有占用,这里比如9501 端口

netstat -anp | grep 9501

2:去宝塔和阿里云服务器开放端口
3:建立swool目录,建立server.php进行搭建服务器
 
 4:将文件上线,可参考其他博客或者专高3有道云
5:宝塔终端 启动

php swoole.php

 
 6:浏览器访问

 
 官方网站

https://wiki.swoole.com/#/

 

...

一次Kafka内存泄露排查经过

现象:

 
 
2月11号数据:

 
 
2月14号数据:

 
2月15号数据:

 
 
可以看到newPartitionProducer持续增长,可定位到是kafka的问题。
最近增加的topic:ai_face_process_topic

 

 
2022.1.25上线到今天2022.2.15一共20天,只增长了701个视频,平均每天35个视频。
但这个topic有64个分区。
根据sarama客户端的API,给每个分区发消息时会判断这个分区的handler是否存在,不存在则创建。且创建...

如何查看linux服务器内存使用情况

 1. free命令
free 命令显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。
直接输入free命令,显示如下

 
free命令默认是显示单位kb,可以采用free -m和free -g命令查看,分别表示MB和GB

另外,free -h会自动选择以适合理解的容量单位显示

Mem:表示物理内存统计,如果机器剩余内存非常小,一般小于总内存的20%,则判断为系统物理内存不够
Swap: 表示硬盘上交换分区的使用情况,如剩余空间较小,需要留意当前系统内存使用情况及负载,当Swap的used值大于0时,则表示操作系统物理内...

TCP连接数受限的条件

使用netstat,可以查看到已经建立的连接

yum install -y net-tools
netstat -nt

由上图可以看出, 一条tcp连接是一个服务器IP+端口对应一个客户端IP+端口,而同一个服务器IP+端口可以对应同一个客户端IP+(65535个不同端口号,端口号限制限制65535),
又因为和服务器建立连接的客户端IP一般都不相同,所以理论上可以建立很多连接,可见65535个端口号并不是限制tcp连接数的条件
 

cat /proc/sys/fs/file-max
max-file 表示系统级别的能够打开的文件句柄的数量。是对整个系统的限制

c...

LINUX中如何查看某个端口是否被占用

1.netstat  -anp  |grep   端口号
2.netstat   -nultp(此处不用加端口号)

查看具体端口时候,必须要看到tcp,端口号,LISTEN那一行,才表示端口被占用了

...

文章标题:linux服务器支持的TCP连接数
文章链接:https://www.dianjilingqu.com/51098.html
本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:saisai#email.cn,感谢支持理解。
THE END
< <上一篇
下一篇>>