Linux内核做了优化配置:
修改了以下两个文件:
文件一:/etc/security/limits.conf
* soft nproc 2067554
* hard nproc 2067554
优化方向:修改最大打开文件数
文件二:/etc/sysctl.conf
优化方向:
1、修改网络内核对TCP连接的本地端口范围限制
net.ipv4.ip_local_port_range = 1024 65535
2、增加打开的最大文件数
fs.file-max = 150000
3、启用TCP窗口伸缩
net.ipv4.tcp_window_scaling = 1
4、关闭SYN-flood的保护
net.ipv4.tcp_syncookies = 0
5、增加cpu处理前在网卡中排队的数据包的数量
net.core.netdev_max_backlog = 3240000
6、增加 挤压socket套接字的数量
net.core.somaxconn = 65535
7、TCP内存优化
net.ipv4.tcp_mem=16777216 16777216 16777216
net.ipv4.tcp_wmem=4096 87380 16777216
net.ipv4.tcp_rmem=4096 87380 16777216
net.core.optmem_max=16777216
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.core.rmem_default=16777216
net.core.wmem_default=16777216
8、增加在被内核处理前被 block的包的数量
net.ipv4.tcp_max_syn_backlog = 3240000
9、TCP只能重试3次,尽量减少连接失败尝试的花费的时间
net.ipv4.tcp_syn_retries=3
net.ipv4.tcp_synack_retries=3
net.ipv4.tcp_orphan_retries=3
10、调整TCP在数据段上重试次数
net.ipv4.tcp_retries2 = 8 (默认是15)
11.增加TIME_WAIT允许的套接字的最大数目
net.ipv4.tcp_max_tw_buckets = 1440000
12、Keepalive 优化
net.ipv4.tcp_keepalive_time = 600 # default 7200
net.ipv4.tcp_keepalive_intvl = 10 # default 75
net.ipv4.tcp_keepalive_probes = 9 # default 9
13、TCP FIN超时指定端口在被另一个连接重用之前必须处于非活动状态的时间。默认值通常是60秒,但通常可以安全地减少到30秒甚至15秒
net.ipv4.tcp_fin_timeout = 7
14、关闭TCP拥塞状态缓存功能
net.ipv4.tcp_no_metrics_save = 1