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

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

1
2
3
4
5
6
7
[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,清空原有内容,复制以下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[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#此参数暂不知有何用途

本文转自激情燃烧的岁月博客51CTO博客,原文链接http://blog.51cto.com/liuzhengwei521/1884098如需转载请自行联系原作者


weilovepan520

上一篇:高校学生在家实践ECS弹性云服务器


下一篇:PostgreSQL 垃圾回收参数优化之 - maintenance_work_mem , autovacuum_work_mem