谈谈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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示