系统内核优化
/etc/sysctl.conf
net.core.somaxconn=65535 #每个端口最大监听队列的长度
net.core.netdev_max_backlog = 65535 #每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的最大数目,一旦超过将被丢弃
net.ipv4.tcp_max_syn_backlog = 65535 #处于SYN_RECV的TCP最大连接数,当处于SYN_RECV状态的TCP连接数超过tcp_max_syn_backlog后,会丢弃后续的SYN报文
net.pv4.tcp_fintimeout=10 #减少等待tcp/ip时间,加快tcp/ip的连接速度
net.ipv4.tcp_tw_reuse = 1 #表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_recycle = 1 #表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
tcp接收和发送缓冲区大小的默认值和最大值
net.core.wmem_default =87380
net.core.wmem-max =16777216
net.core.rmem default =87380
net.core.rmem-max =16777216
net.ipv4.tcp-keepalive_time = 120 #长连接发送消息时间间隔
net.pv4.tcp_keepalive_intvl = 30 #当探测到时间未响应,重发消息的时间间隔
net.ipv4.tcp-keepalive_probes =3 # 长连接认定关闭前,最大重发消息的次数
kernel.shmmax = 4294967295 #应该设置足够大,便于容纳
vm.swappiness = 0 #禁用交换分区
Vm.swappiness = 0 # 除非linux内核占满否则不会使用交换分区
增加资源限制(/etc/security/limit.conf)
root soft nofile 65535 #soft,对当前系统生效,hard表明系统中所能设定的最大值 nofile表示所限制的资源是打开文件的最大数目
root hard nofile 65535
* soft nofile 65535
* hard nofile 65535