web 服务负载均衡器常规网站服务器优化的基本配置:
net.ipv4.tcp_fin_timeout =2
net.ipv4.tcp_tw_reuse =1
net.ipv4.tcp_tw_recycle =1
net.ipv4.tcp_syncookies =1
net.ipv4.tcp_keepalive_time =600
net.ipv4.ip_local_port_range =4000 65000
net.ipv4.tcp_max_syn_backlog =16384
net.ipv4.tcp_max_tw_buckets =36000
net.ipv4.route.gc_timeout =100
net.ipv4.tcp_syn_retries =1
net.ipv4.tcp_synack_retries =1
net.core.netdev_max_backlog =16384
net.ipv4.tcp_max_orphans =16384
#以下参数是对iptables防火墙的优化,防火墙不开会提示,可以忽略不理。
net.nf_conntrack_max =25000000
net.netfilter.nf_conntrack_max= 25000000
net.netfilter.nf_conntrack_tcp_timeout_established =180
net.netfilter.nf_conntrack_tcp_timeout_time_wait =120
net.netfilter.nf_conntrack_tcp_timeout_close_wait =60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait =120
将上面的内核参数值加入到/etc/sysctl.conf文件中,
vim /etc/sysctl.conf
shift+j
o
shift+insert //将上面的参数粘贴进来
然后执行如下命令生效:
sysctl –p
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
linux内核参数注释:
以下表格中红色字体为常用优化参数
文件所处目录/proc/sys/net/core/
名称 |
默认值 |
建议值 |
描述 |
tcp_syn_retries |
5 |
1 |
对于一个新建连接,内核要发送多少个 SYN 连接请求才决定放弃。不应该大于255,默认值是5,对应于180秒左右时间。。(对于大负载而物理通信良好的网络而言,这个值偏高,可修改为2.这个值仅仅是针对对外的连接,对进来的连接,是由tcp_retries1决定的) |
tcp_synack_retries |
5 |
1 |
对于远端的连接请求SYN,内核会发送SYN + ACK数据报,以确认收到上一个 SYN连接请求包。这是所谓的三次握手( threeway handshake)机制的第二个步骤。这里决定内核在放弃连接之前所送出的 SYN+ACK 数目。不应该大于255,默认值是5,对应于180秒左右时间。 |
tcp_keepalive_time |
7200 |
600 |
TCP发送keepalive探测消息的间隔时间(秒),用于确认TCP连接是否有效。 防止两边建立连接但不发送数据的攻击。 |
tcp_keepalive_probes |
9 |
3 |
TCP发送keepalive探测消息的间隔时间(秒),用于确认TCP连接是否有效。 |
tcp_keepalive_intvl |
75 |
15 |
探测消息未获得响应时,重发该消息的间隔时间(秒)。默认值为75秒。 (对于普通应用来说,这个值有一些偏大,可以根据需要改小.特别是web类服务器需要改小该值,15是个比较合适的值) |
tcp_retries1 |
3 |
3 |
放弃回应一个TCP连接请求前﹐需要进行多少次重试。RFC 规定最低的数值是3 |
tcp_retries2 |
15 |
5 |
在丢弃激活(已建立通讯状况)的TCP连接之前﹐需要进行多少次重试。默认值为15,根据RTO的值来决定,相当于13-30分钟(RFC1122规定,必须大于100秒).(这个值根据目前的网络设置,可以适当地改小,我的网络内修改为了5) |
tcp_orphan_retries |
7 |
3 |
在近端丢弃TCP连接之前﹐要进行多少次重试。默认值是7个﹐相当于 50秒 - 16分钟﹐视RTO 而定。如果您的系统是负载很大的web服务器﹐那么也许需要降低该值﹐这类 sockets 可能会耗费大量的资源。另外参的考tcp_max_orphans。(事实上做NAT的时候,降低该值也是好处显著的,我本人的网络环境中降低该值为3) |
tcp_fin_timeout |
60 |
2 |
对于本端断开的socket连接,TCP保持在FIN-WAIT-2状态的时间。对方可能会断开连接或一直不结束连接或不可预料的进程死亡。默认值为 60 秒。 |
tcp_max_tw_buckets |
180000 |
36000 |
系统在同时所处理的最大 timewait sockets 数目。如果超过此数的话﹐time-wait socket 会被立即砍除并且显示警告信息。之所以要设定这个限制﹐纯粹为了抵御那些简单的 DoS 攻击﹐不过﹐如果网络条件需要比默认值更多﹐则可以提高它(或许还要增加内存)。(事实上做NAT的时候最好可以适当地增加该值) |
tcp_tw_recycle |
0 |
1 |
打开快速 TIME-WAIT sockets 回收。除非得到技术专家的建议或要求﹐请不要随意修改这个值。(做NAT的时候,建议打开它) |
tcp_tw_reuse |
0 |
1 |
表示是否允许重新应用处于TIME-WAIT状态的socket用于新的TCP连接(这个对快速重启动某些服务,而启动后提示端口已经被使用的情形非常有帮助) |
tcp_max_orphans |
8192 |
32768 |
系统所能处理不属于任何进程的TCP sockets最大数量。假如超过这个数量﹐那么不属于任何进程的连接会被立即reset,并同时显示警告信息。之所以要设定这个限制﹐纯粹为了抵御那些简单的 DoS 攻击﹐千万不要依赖这个或是人为的降低这个限制。如果内存大更应该增加这个值。(这个值Redhat AS版本中设置为32768,但是很多防火墙修改的时候,建议该值修改为2000) |
tcp_abort_on_overflow |
0 |
0 |
当守护进程太忙而不能接受新的连接,就象对方发送re |
首页 上一页 1 2 3 4 下一页 尾页 1/4/4 | |
【大 中 小】【打印】 【繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部】 | |
上一篇:linux内核参数注释与优化 | 下一篇:关于linux三种网络形式 |