1.调整系统文件描述符数量,默认为1024 #ulimit -n进行查看
[root@test1 core]# ulimit -n 1024 调整方法: [root@test1 core]# echo '* - nofile 65535' >>/etc/security/limits.conf 注:配置完成后需要重新登录才能生效 [root@test1 core]# ulimit -n 65535
2.Linux系统中,TCP连接断开后,会以TIME_WAIT状态保留一定的时间,然后再释放端口。当并发请求过 多的时候就会产生大量的TIME_WAIT状态连接,无法及时断开的话,会占用大量的的端口。此时可以优化TCP的内核参数,来及时将TIME_WAIT状态的端口清理掉。
配置:/etc/sysctl.conf,清空原有内容,复制以下内容
[root@test1 core]# cat /etc/sysctl.conf net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_max_tw_buckets = 6000 net.ipv4.ip_local_port_range = 1024 65536 net.ipv4.tcp_keepalive_time = 30 net.core.rmem_max=16777216 net.core.wmem_max=16777216 net.ipv4.tcp_rmem=4096 87380 16777216 net.ipv4.tcp_wmem=4096 65536 16777216 net.ipv4.tcp_timestamps = 1 net.core.netdev_max_backlog = 30000 net.core.somaxconn = 262144 net.ipv4.tcp_max_syn_backlog = 262144 net.ipv4.tcp_syn_retries = 2 net.ipv4.tcp_synack_retries = 2
参数解释:
net.ipv4.tcp_syncookies = 1:该参数与性能无关,用于解决TCP的SYN***,默认已经配置
net.ipv4.tcp_tw_reuse = 1:表示开启重用,允许将TIME-WAIT sockets重新用于新的tcp连接,默认为0
net.ipv4.tcp_tw_recycle = 1:表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0
net.ipv4.tcp_fin_timeout = 30: #缩短默认的TIMEOUT时间
net.ipv4.tcp_max_tw_buckets = 6000: #控制最大TIME-WAIT数量
net.ipv4.ip_local_port_range = 1024 65536: #向外开放的端口范围
net.ipv4.tcp_keepalive_time = 30 #长连接超时时间
net.core.rmem_max=16777216: #最大接收套接字缓冲区大小
net.core.wmem_max=16777216: #最大发送套接字缓冲区大小
net.ipv4.tcp_rmem=4096 87380 16777216#TCP接收缓冲大小,对应最小、默认、最大
net.ipv4.tcp_wmem=4096 65536 16777216#TCP发送缓冲大小,对应最小、默认、最大
net.ipv4.tcp_timestamps = 1 #不带时间戳节省内存空间
net.core.netdev_max_backlog = 30000#当网络接口接收速率比内核处理快时允许发到队列的数据包数目
net.core.somaxconn = 262144#系统同时发起的TCP连接数,超过导致连接超时或重传
net.ipv4.tcp_syn_retries = 2#SYN重试次数
net.ipv4.tcp_synack_retries = 2#控制内核向已建立连接的远程主机重新发送数据的次数,降低此值,可以尽早的检测连接失效
net.ipv4.tcp_max_syn_backlog = 262144#此参数暂不知有何用途
转载于:https://blog.51cto.com/liuzhengwei521/1884098