您的位置:首页 > 理论基础 > 计算机网络

Linux网络服务优化

2012-04-27 15:20 274 查看
Linux网络服务参数配置说明及实战 http://blog.csdn.net/kthq/article/details/6174077
Linux服务器的优化: http://www.cnblogs.com/derekchen/archive/2012/04/04/2432072.html
udp丢包 又是udp丢包处理: http://www.cnweblog.com/fly2700/archive/2011/09/19/317825.html
linux kernel tcp拥塞处理:

1. linux kernel tcp拥塞处理之cubic算法 http://www.pagefault.info/?p=145
2. 网络拥塞控制(九) CUBIC: http://www.haogongju.net/art/791906
3. linux网络拥塞系列文章:http://www.cnblogs.com/fll/category/136411.html

4. 高速网络中TCP 拥塞控制算法的研究: http://2.dx1.elecfans.com/l/elecfans.com_%B8%DF%CB%D9%CD%F8%C2%E7%D6%D0TCP%D3%B5%C8%FB%BF%D8%D6%C6%CB%E3%B7%A8%B5%C4%D1%D0%BE%BF.pdf
5. TCP优化指导 : http://csbison.iteye.com/blog/483066
中美之间的线路质量不是很好,rtt较长且时常丢包。TCP协议是成也丢包,败也丢包;TCP的设计目的是解决不可靠线路上可靠传输的问题,即为了解决丢包,但丢包却使TCP传输速度大幅下降。HTTP协议在传输层使用的是TCP协议,所以网页下载的速度就取决于TCP单线程下载的速度(因为网页就是单线程下载的)。

丢包使得TCP传输速度大幅下降的主要原因是丢包重传机制,控制这一机制的就是TCP拥塞控制算法。

Linux内核中提供了若干套TCP拥塞控制算法,已加载进内核的可以通过内核参数net.ipv4.tcp_available_congestion_control看到:

sudo sysctl net.ipv4.tcp_available_congestion_control

没有加载进内核的一般是编译成了模块,可以用modprobe加载。

这些算法各自适用于不同的环境。

reno是最基本的拥塞控制算法,也是TCP协议的实验原型。

bic适用于rtt较高但丢包极为罕见的情况,比如北美和欧洲之间的线路,这是2.6.8到2.6.18之间的Linux内核的默认算法。

cubic是修改版的bic,适用环境比bic广泛一点,它是2.6.19之后的linux内核的默认算法。

hybla适用于高延时、高丢包率的网络,比如卫星链路——同样适用于中美之间的链路。

多人实验表明,TCP拥塞控制算法对TCP传输速率的影响可很大。

UDP本来就不受丢包影响,所以不存在TCP的这样丢包导致的拥塞问题。

网络性能

网络间的通信都必定存在网络延迟,并非每个TCP/IP请求都可以马上通过网络进行传输。因此当应用要求通过网络进行TCP/IP访问时,Linux内核会将这些访问请求及其数据存放到系统缓存中,缓存的计算方法如下:

1、通过ping得到目标系统的time值,如15ms

2、假设千兆网卡,连接速度为1000(mebibits)/8bit = 125(MiB)

3、计算:total buffers = Bandwidth * Delay time

代入数据: 125(MiB)* 0.015(s)= 1.875 (MiB) = 1966080 (Bytes)

通常建议网络中存储缓存最小值,默认值与当前计算的Total buffers相等,最大值为total beffuers的1.5倍,

UDP优化参数

修改文件/etc/sysctl.conf,加入以下几行:

net.ipv4.udp_rmem_min = 1966080

net.core.rmem_default = 1966080

net.core.rmem_max = 2949120

net.ipv4.udp_wmem_min = 1966080

net.core.wmem_default = 1966080

net.core.wmem_max = 2949120

TCP参数优化

修改文件/etc/sysctl.conf,加入以下几行:

net.ipv4.tcp_rmem = 1966080 1966080 2949120

net.ipv4.tcp_wmem = 1966080 1966080 2949120
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: