/proc/sys/ 下的几个参数

(1) /proc/sys/net/ipv4/tcp_max_syn_backlog 
当TCP开始建立联机时,会使用“三次握手”的机制,首先系统会发送“SYN”数据包,对方须回传“ACK”数据包,再从系统发送出“SYN+ACK”代表完成联机。这操作看似简单,但当联机数据众多时,比如开许多IE浏览网页时就会有很多次三方握手的操作。一般情况下很正常,但如果对方的系统在收到SYN时就已经离线,本机系统会等不到对方回传的“ACK”数据包,必须先记下目前已发送“SYN”的联机有多少,这参数的目的就是定义“已发送SYN数据包的联机数目最大值”为多少,目前一般的系统(大于16MB)默认值都是1024

(2) /proc/sys/net/core/netdev_max_backlog 
当网络传输量比系统所可处理的数据包量来得大时,网络接口的队列(Queue)可承受的数据包数量最大值

(3) /proc/sys/net/core/somaxconn
listen()的默认参数,挂起请求的最大数量.默认是128.对繁忙的服务器,增加该值有助于网络性能, 可参考的优化值:2048

(4)net.core.wmem_default
默认是 “send window size“ 的值
记录 TCP/IP中 Slide Window 的默认 “receive window size ” 值

(5)net.core.rmem_default
默认"send window size" 的值
记录 TCP/IP中 Slide Window 的默认 "send window size " 值

(6)net.core.rmem_max
"receive window size " 最大值

(7)net.core.wmem_max
"send window size" 最大值

(8)net.ipv4.tcp_timestamps
缺省值为1
Timestamps 用在其它一些东西中﹐可以防范那些伪造的 sequence 号码。一条1G的宽带线路或许会重遇到带 out-of-line数值的旧sequence 号码(假如它是由于上次产生的)。Timestamp 会让它知道这是个 ‘旧封包’。(该文件表示是否启用以一种比超时重发更精确的方法(RFC 1323)来启用对 RTT 的计算;为了实现更好的性能应该启用这个选项。)

(9)tcp_synack_retries
默认值是 5
对于远端的连接请求SYN,内核会发送SYN + ACK数据报,以确认收到上一个 SYN连接请求包。这是所谓的三次握手( threeway handshake)机制的第二个步骤。这里决定内核在放弃连接之前所送出的 SYN+ACK 数目。不应该大于255,默认值是5,对应于180秒左右时间。(可以根据上面的tcp_syn_retries来决定这个值)

(10) /proc/sys/net/ipv4/tcp_synack_retries
默认值是5
对于一个新建连接,内核要发送多少个 SYN 连接请求才决定放弃。不应该大于255,默认值是5,对应于180秒左右时间。(对于大负载而物理通信良好的网络而言,这个值偏高,可修改为2.这个值仅仅是针对对外的连接,对进来的连接,是由tcp_retries1 决定的)

(11)net.ipv4.tcp_tw_recycle
默认值是0
打开快速 TIME-WAIT sockets 回收。除非得到技术专家的建议或要求﹐请不要随意修改这个值。(做NAT的时候,建议打开它)

(12)net.ipv4.tcp_tw_reuse
默认值是0
该文件表示是否允许重新应用处于TIME-WAIT状态的socket用于新的TCP连接(这个对快速重启动某些服务,而启动后提示端口已经被使用的情形非常有帮助)

(13)net.ipv4.tcp_mem
(3个INTEGER变量):low, pressure, high
low:当TCP使用了低于该值的内存页面数时,TCP不会考虑释放内存。(理想情况下,这个值应与指定给 tcp_wmem 的第 2 个值相匹配 - 这第 2 个值表明,最大页面大小乘以最大并发请求数除以页大小 (131072 * 300 / 4096)。 )

pressure:当TCP使用了超过该值的内存页面数量时,TCP试图稳定其内存使用,进入pressure模式,当内存消耗低于low值时则退出pressure状态。(理想情况下这个值应该是 TCP 可以使用的总缓冲区大小的最大值 (204800 * 300 / 4096)。 )

high:允许所有tcp sockets用于排队缓冲数据报的页面量。(如果超过这个值,TCP 连接将被拒绝,这就是为什么不要令其过于保守 (512000 * 300 / 4096) 的原因了。 在这种情况下,提供的价值很大,它能处理很多连接,是所预期的 2.5 倍;或者使现有连接能够传输 2.5 倍的数据。 我的网络里为192000 300000 732000)
一般情况下这些值是在系统启动时根据系统内存数量计算得到的

(14)net.ipv4.tcp_max_orphans
缺省值是8192
系统所能处理不属于任何进程的TCP sockets最大数量。假如超过这个数量﹐那么不属于任何进程的连接会被立即reset,并同时显示警告信息。之所以要设定这个限制﹐纯粹为了抵御那些简单的 DoS 攻击﹐千万不要依赖这个或是人为的降低这个限制(这个值Redhat AS版本中设置为32768,但是很多防火墙修改的时候,建议该值修改为2000)

(15)net.ipv4.ip_local_port_range
针对outgoing 的连接(也就是连接用系统内部对外交互的方式)限制其port的数量,里面的两个值代表最小连接端口号码(port number)与最大连接端口号码。在设定时,要注意因为这里的port指的是用户在使用的,并非所谓的well-known ports (0-1023就是一般HTTP服务所使用的80 port),所以其值目前系统会依据内存大小不同而分配(大于128MB时为32768-61000;小于128MB则为1024-4999或更小)


参考:
http://hi.baidu.com/yeyingxian/blog/item/1c1946661979692aaa184c06.html
http://blog.csdn.net/nellson/archive/2010/02/03/5283856.aspx

《Linux系统架构与目录解析》

 

声明:本文档可以随意更改,但必须署名原作者

作者:凤凰舞者 qq:578989855

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值