喵太狼 2022-06-28 09:13 采纳率: 50%
浏览 237

万兆网UDP无法达到全部带宽

问题遇到的现象和发生背景

1、两台各配置Intel X520 万兆网卡的x86 Windows 主机,通过Intel光模块互联组成局域网。
2、互跑TCP可以达到全部10Gb带宽。
3、互跑UDP只能达到1.6Gb带宽,关闭网卡中断裁决也只能跑到3.5Gb带宽。
4、用 Iperf 和 自己写的代码测试过,差别不大。

我的解答思路和尝试过的方法

1、调整接收缓存、队列数、巨型帧等,效果只有恶化。

我想要达到的结果

1、按理TCP可以达到全部带宽,没道理UDP达不到,有没有办法提升UDP传输性能?

  • 写回答

4条回答 默认 最新

  • 冰山76 2022-06-28 10:07
    关注

    udp无连接,数据包接收到后需要整理顺序,在局域网内单台机器测试理论上不一定有tcp高效,如果两台服务器都接入局域网,局域网通信时不止这两台机器时,测试一下,是不是udp的效率会上升,tcp效率会下降?
    从原理上说udp包头小于tcp,传输数据更少,速度应该更快,但实际上要受协议自身的束缚,达不到理论值,单项仅测试发送udp包,只检测收到包的个数,不检测包的顺序和质量时,速度是否会加快?

    评论

报告相同问题?

问题事件

  • 创建了问题 6月28日

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!