请假设下面的情况就是这样的,我必须用我已有的资源解决它。或者至少了解哪里出了问题。
两台相同的计算机通过 10G 电缆连接。两台计算机都运行Windows 8.1 Pro
。计算机“A”通过 TCP 传输视频,计算机“B”读取视频。流媒体有一个日志窗口,用于报告是否丢失帧。流媒体和读取器应用程序都是第三方的,我没有它们的源代码。一切正常。但是,当我用运行的计算机“C”替换“B”时Windows 7
,流媒体报告丢失了许多帧。支持小组告诉我存在网络问题,但他们无法帮助我。
更新1 --------------------------------------
- 所有网络驱动程序都已更新。
- 计算机“C”规格:
- 处理器 Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz, 4001 Mhz, 4 核, 8 逻辑处理器
- Windows 7 企业版
- 内存 - 16G
----------------------------------------------------
更新2 --------------------------------------
这Wireshark
是输出的链接。
----------------------------------------------------
我想知道计算机“C”出了什么问题。我使用iperf
和验证ntttcp
了我确实有 10G 带宽。我Wireshark
在“C”上运行。据说Wireshark
降到tcp windows size
零很多。这可能是原因。或者是原因之一。
- 我能做什么来修复这个问题
tcp windows size
?如果您认为这不是问题,您能建议我应该检查什么吗? - 问题是否
tcp windows size
由流媒体和阅读器处理流量的方式引起?阅读器处理接收缓冲区的方式? - 其他原因?
答案1
如果两台计算机之间有大量数据流,则可以使用巨型帧来减少 CPU 负载。如果 A 和 B 计算机上使用了这项技术,则必须在 C 计算机上启用它。如果计算机没有直接连接,则必须在网络交换机上启用巨型帧。