谈谈Linux系统连接数

一、系统默认最大连接数

(1).这是由于当前系统连接数量(默认为65536)超出最大限制所导致,该值由内核参数netnetfilter.nf_conntrack_max定义,使用sysctl 命令可以查看该值

(2).意味着默认情况下,最多维持65536个连接数,一旦连接数超出该值,系统就会拒绝后续的连接,直到前面的连接被系统释放后才能继续处理新连接。

[root@harbor-libin ~]# sysctl -a | grep "nf_conntrack_max"    

 二、查看系统当前连接数

(1).查看当前系统维持了多少个连接数,可以查看/proc/sys/net/netfilter/nf_conntrack_count文件

[root@harbor-libin ~]# cat /proc/sys/net/netfilter/nf_conntrack_count

(2).查看系统当前连接数详细信息

[root@harbor-libin ~]# cat /proc/net/nf_conntrack | wc -l 

三、修改目前系统默认最大连接数

(1)[root@harbor-libin ~]# sysctl -w net.netfilter.nf_conntrack_max=1000000

net.netfilter.nf_conntrack_max = 1000000

(2)net.netfilter.nf_conntrack_max = 1000000

四、增加连接数大小后的必要调优手段

(1).修改/sys/module/nf_conntrack/parameters/hashsize,该值为

[root@harbor-libin ~]# cat /sys/module/nf_conntrack/parameters/hashsize

哈希值大小最好遵循以下规则:

(1)最好是2的次幂*注:conntrackmax最好设置的时候也遵循这个规则,conntrackmax默认65536=2^16

(2)经验法则:hashsize=conntrack max/4

[root@harbor-libin ~]# echo "250000">/sys/module/nf_conntrack/parameters/hashsize

posted @ 2023-06-13 17:23  LB_运维技术  阅读(2391)  评论(0编辑  收藏  举报