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

7 language-agnostic networking low-latency

我想知道各种技术/提示/技巧/银子弹在调查网络延迟问题以及各种解决方案和优化时所使用的SO.

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

例如:

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

还有什么其他建议?

Jim*_*imR 2

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

1)当您的节点在快速链路上物理距离很近并且数据包中的数据不小于 TCP 数据包开销时,请关闭Nagle 算法MS就此写了一篇论文。一个反例是,当您的链路中有卫星连接时,由于涉及的距离,一个数据包单程需要 800 毫秒。如此看来,内格尔是个好东西。

2) 确保为您的链路和计算机正确设置 MTU 大小,以避免碎片问题。

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