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

标签 networking language-agnostic low-latency

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

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

例如:

  • 增加套接字缓冲区大小
  • 使用 OS 的 react 器模式最佳选项(选择并不总是最佳选项)
  • 使用极端网卡,例如 bigfoot Killer 2100
  • 网线尽量短,网线不要缠在一起
  • 在两点之间复制大量数据时 - 考虑往返延迟并使用多个套接字连接使链接完全饱和

  • 其他一些建议是什么?

    最佳答案

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

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

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

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

    关于networking - 低延迟网络建议(s/w 和 h/w),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4383608/

    相关文章:

    localization - 本地化(或缺乏)什么时候是一件坏事?

    algorithm - 在 3d 高度图中找到鞍点

    c++ - 在 C++ 中将数据从一个线程发送到另一个线程的最快方法是什么?

    language-agnostic - 反对创建或更新的论据

    c++ - Linux 上的低延迟串行通信

    C# 到 Java 延迟敏感类转换,在我的情况下,TreeMap 会取代 SortedList 吗?

    azure - 将 VNET 移至新的 RG,但 AKS 仍指向旧的 RG

    c++ - 字符串赋值错误

    本地网络共享的带有项目文件的 Android Studio

    c++ - QTimer & Select 使用。需要让拍卖时间正常运转