debian tcp – 针对丢包的客户端进行优化

我有一个带宽为100 Mbps的debian服务器。 我的客户大多使用3Gnetworking连接,平均持续时间为3千万。 它们中的很多很less有数据包丢失,但是每次数据包丢失时,tcp链路会在所有事情恢复正常之前停顿30秒或更长时间。

服务器使用大约5%的CPU,内存和带宽。

我已经列出了debian的选项列表和调整tcp堆栈: http : //www.linuxinsight.com/proc_sys_net_ipv4.html

我想知道哪个参数将允许服务器或客户端丢失数据包丢失较less的时间。 任何想法 ?

要清除丢包问题非常困难–TCP真的不喜欢它,并且非常强烈地承认这是使用容量而不是不可靠networking的标志。 有一个3G链接,并不总是如此。

http://linuxgazette.net/135/pfeiffer.html介绍了如何select其他的拥塞控制algorithm,并且对Linux内核中可用的一些选项进行了说明。

你几乎可以肯定希望启用tcp_frto ,因为它被devise用于像无线networking这样的间歇性丢失环境,而且不像互联网。

你可能会考虑把tcp_maxreordering提高到默认值以上,如果你在windows很大的时候遇到了损失。

确保SACK和类似function开启; 我怀疑你把他们关了,但以防万一…

除此之外,没有什么可以真正帮助你在这里。 拥塞控制响应,特别是恢复,实际上是提高性能的关键。 不要指望奇迹,不pipe你做什么,不要以为没有彻底的testing ,任何事情都会使生活变得更好!