linux 最大连接数限制调整

查看进程号

ps aux | grep mysql
ps aux | grep nginx
ps aux | grep php
cat /proc/11453/limits

nginx 并发连接数及其TCP连接状态

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

指定端口连接数

netstat -antp | grep 443 | grep ESTABLISHED -c
netstat -antp | grep 2120 | grep ESTABLISHED -c

nginx进程数

ps -ef | grep nginx | wc -l

mysql 进程连接数

ps -axef | grep mysqld -c

操作系统"进程最大可打开文件数"

cat /proc/sys/net/ipv4/ip_local_port_range

修改limits.conf主配置文件

vim /etc/security/limits.conf
* soft nofile 1024000
* hard nofile 1024000
root soft nofile 1024000
root hard nofile 1024000

注意:* 要加到文件里面,以上在limits.conf文件中添加的两句话的含义是
soft(应用软件)级别限制的最大可打开文件数的限制
hard表示操作系统级别限制的最大可打开文件数的限制,
*表示所有用户都生效。

保存文件后不会马上生效。需要使用以下命令:

ulimit -n 1024000

使用ulimit -a 进行查看。

更改Nginx“进程最大可打开文件数”的设置

events {
    use epoll;
    worker_connections  65535;
}

进程号查看

ps -aux|grep nginx

进程号对应的配置

cat /proc/1734/limits

查看系统级别能够打开的文件句柄的数量:

cat /proc/sys/fs/file-max

打开文件vim /etc/sysctl.conf,增加以下设置

#该参数设置系统的TIME_WAIT的数量,如果超过默认值则会被立即清除
net.ipv4.tcp_max_tw_buckets = 20000
#定义了系统中每一个端口最大的监听队列的长度,这是个全局的参数
net.core.somaxconn = 65535
#对于还未获得对方确认的连接请求,可保存在队列中的最大数目
net.ipv4.tcp_max_syn_backlog = 262144
#在每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目
net.core.netdev_max_backlog = 30000
#此选项会导致处于NAT网络的客户端超时,建议为0。Linux从4.12内核开始移除了 tcp_tw_recycle 配置,如果报错"No such file or directory"请忽略
net.ipv4.tcp_tw_recycle = 0
#系统所有进程一共可以打开的文件数量
fs.file-max = 6815744
#防火墙跟踪表的大小。注意:如果防火墙没开则会提示error: "net.netfilter.nf_conntrack_max" is an unknown key,忽略即可
net.netfilter.nf_conntrack_max = 2621440

#去掉注释抽出来的这么几行:
net.ipv4.tcp_max_tw_buckets = 20000
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 262144
net.core.netdev_max_backlog = 30000
net.ipv4.tcp_tw_recycle = 0
fs.file-max = 6815744
net.netfilter.nf_conntrack_max = 2621440

使生效:

sysctl -p

参考:

https://blog.csdn.net/wdw984/article/details/113915916

其它一些参考

net.core.rmem_max = 134217728
net.core.wmem_max = 134217728
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.ipv4.tcp_congestion_control = htcp
net.ipv4.tcp_mtu_probing = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.neigh.default.gc_stale_time=120
net.ipv4.tcp_syn_retries=1
net.ipv4.tcp_synack_retries=1
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_fin_timeout=30
net.ipv4.tcp_keepalive_time=1200
net.ipv4.route.gc_timeout=100
net.ipv4.ip_local_port_range=1024 65535
net.ipv4.tcp_max_tw_buckets=65535
net.core.somaxconn=65535
net.ipv4.tcp_max_syn_backlog=262144
net.core.netdev_max_backlog=262144
net.ipv4.tcp_syncookies=0
net.ipv4.tcp_max_orphans=262144
fs.file-max=6815744
net.nf_conntrack_max=2621440
net.netfilter.nf_conntrack_max=2621440
net.netfilter.nf_conntrack_tcp_timeout_established=1200
net.netfilter.nf_conntrack_tcp_timeout_close_wait=60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait=120
net.netfilter.nf_conntrack_tcp_timeout_time_wait=120

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注