当前配置防止系统限制导致高并发报错
ulimit -a
c
:当某些程序发生错误时,系统可能会将该程序在内存中的信息写成文件(除错用),这种文 件就被称为核心文件(core file)。此为限制每个核心文件的最大容量d
:每个进程数据段的最大值f
:当前shell可创建的最大文件容量l
:可以锁定的物理内存的最大值m
:可以使用的常驻内存的最大值n
:每个进程可以同时打开的最大文件句柄数p
:管道的最大值s
:堆栈的最大值t
:每个进程可以使用CPU的最大时间u
:每个用户运行的最大进程并发数v
:当前shell可使用的最大虚拟内存ulimit -n 65535
查询当前终端的文件句柄数: ulimit -n 回车,一般的系统默认的1024.
修改文件句柄数为65535,ulimit -n 65535.此时系统的文件句柄数为65535.
vim /etc/sysctl.conf
打开文件,写入下面内容
net.ipv4.tcp_syncookies = 1 # 开启syncookies,防止网络泛洪攻击 net.ipv4.tcp_fin_timeout = 30 # fin超时时间 net.ipv4.tcp_max_tw_buckets = 262144 # time_wait池 net.ipv4.tcp_tw_reuse = 1 # time_wait重用 net.ipv4.tcp_tw_recycle = 1 # time_wait快速回收 net.core.somaxconn = 65535 # 默认128,增加半连接(backlog)池大小,当池中请求大过这个时会拒绝连接 net.ipv4.ip_local_port_range = 1024 65535 # 默认32768 60999,防止并发是端口不够用
更多参考文档https://help.aliyun.com/document_detail/41334.html#TxtER