修改 /etc/sysctl.conf
# 系统级别最大打开文件
fs.file-max = 100000# 单用户进程最大文件打开数
fs.nr_open = 100000
# 是否重用, 快速回收time-wait状态的tcp连接,
建议不要将这两个参数改为1,因为启用这两个参数后会导致部分客户端无法连接
net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_tw_recycle = 1
# 单个tcp连接最大缓存byte单位
net.core.optmem_max = 8192
# 可处理最多孤儿socket数量,超过则警告,每个孤儿socket占用64KB空间
net.ipv4.tcp_max_orphans = 10240
# 最多允许time-wait数量
net.ipv4.tcp_max_tw_buckets = 10240
# 从客户端发起的端口范围,默认是32768 61000,则只能发起2w多连接,改为一下值,可一个IP可发起差不多6.4w连接。
net.ipv4.ip_local_port_range = 1024 65535
# tcp服务端能同时监听的队列上限,默认是128
net.core.somaxconn=32768
#SYN队列长度,默认1024,改成8192,可以容纳更多等待连接的网络连接数
net.ipv4.tcp_max_syn_backlog = 8192
#unix socket 进程通信
net.unix.max_dgram_qlen = 4096
修改 /etc/security/limits.conf
# 最大不能超过fs.nr_open值, 分别为单用户进程最大文件打开数,soft指软性限制,hard指硬性限制
* soft nofile 100000
* hard nofile 100000
root soft nofile 100000
查看 系统同时最大能打开多少文件
/proc/sys/fs/nr_open 是操作系统默认的最大打开文件数,这一般是安装操作系统时系统计算出来的,所以尽量不要修改。