低延迟网络建议(s / w和h / w)

时间:2010-12-08 02:13:59

标签: networking language-agnostic low-latency

我想知道在调查网络延迟问题以及合并的各种解决方案和优化时,SO'ers们使用的各种技巧/提示/技巧/银子弹。

我正在寻找可以应用于软件或硬件的解决方案。

例如:

  1. 增加套接字缓冲区大小
  2. 使用OS的反应器模式的最佳选项(选择并不总是最佳选择)
  3. 使用极端NIC,例如bigf​​oot Killer 2100
  4. 保持网线尽可能短,不要将网线相互缠绕
  5. 在2点之间复制大量数据时 - 考虑往返延迟并使用多个套接字连接来完全饱和链接
  6. 还有其他一些建议吗?

2 个答案:

答案 0 :(得分:2)

在过去10年左右的时间里,有几件事帮助我加快速度或增加带宽......

1)Turn off Nagle algorithm当您的节点在快速链路上物理上靠近在一起并且数据包中的数据不小于TCP数据包开销时。 MS做了一篇关于this的论文。一个反例就是当你的链接中有一个卫星连接时,由于距离的原因,一个数据包单程需要800毫秒。在那种情况下,Nagle是一件好事。

2)确保为链接和机器正确设置了MTU大小,以避免出现碎片问题。

3)如果你在Windows上并且传出的数据包很小并且延迟很高,你还应该将套接字选项SO_SNDBUF设置为0以避免传输延迟。

答案 1 :(得分:0)

它并非总是可行,但如果您可以插入更靠近可以提供帮助的目的地的本地缓存服务器。