Linux参数优化(随着经验的增加持续更新中)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux参数优化(随着经验的增加持续更新中)相关的知识,希望对你有一定的参考价值。

1.调整系统文件描述符数量,默认为1024  #ulimit -n进行查看

[[email protected] core]# ulimit -n
1024
调整方法:
[[email protected] core]# echo ‘*    -    nofile    65535‘ >>/etc/security/limits.conf
注:配置完成后需要重新登录才能生效
[[email protected] core]# ulimit -n
65535

2.Linux系统中,TCP连接断开后,会以TIME_WAIT状态保留一定的时间,然后再释放端口。当并发请求过 多的时候就会产生大量的TIME_WAIT状态连接,无法及时断开的话,会占用大量的的端口。此时可以优化TCP的内核参数,来及时将TIME_WAIT状态的端口清理掉。

配置:/etc/sysctl.conf,清空原有内容,复制以下内容

[[email protected] 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 #此参数暂不知有何用途

本文出自 “激情燃烧的岁月” 博客,请务必保留此出处http://liuzhengwei521.blog.51cto.com/4855442/1884098

以上是关于Linux参数优化(随着经验的增加持续更新中)的主要内容,如果未能解决你的问题,请参考以下文章

C++/C 使用过程中的经验总结荟萃(持续更新)

C++/C 使用过程中的经验总结荟萃(持续更新)

Linux系统句柄优化

自愧不如,三年划水经验总结(持续更新)

Vue.Js的用户体验优化

linux下nginx服务应用总结--突破10万高并发的nginx性能优化经验(含内核参数优化