![107MB/s *网络*文件复制速度减慢到 16.5MB/s 播放*本地*媒体文件。为什么?有办法调整吗?](https://linux22.com/image/1211501/107MB%2Fs%20*%E7%BD%91%E7%BB%9C*%E6%96%87%E4%BB%B6%E5%A4%8D%E5%88%B6%E9%80%9F%E5%BA%A6%E5%87%8F%E6%85%A2%E5%88%B0%2016.5MB%2Fs%20%E6%92%AD%E6%94%BE*%E6%9C%AC%E5%9C%B0*%E5%AA%92%E4%BD%93%E6%96%87%E4%BB%B6%E3%80%82%E4%B8%BA%E4%BB%80%E4%B9%88%EF%BC%9F%E6%9C%89%E5%8A%9E%E6%B3%95%E8%B0%83%E6%95%B4%E5%90%97%EF%BC%9F.png)
- Windows Server 2008 有一个文件夹准备接受复制的文件。
- Vista SP1 或 SP2 机器,带有 1GB .iso 和本地存储的 .mp3 文件。
- 千兆网络(不确定这是否重要但它会放大问题)。
总的来说,文件传输非常快。将 .iso 从客户端复制到服务器的速度达到千兆位,大约需要 10 秒。太棒了。
如果我打开 Windows Media Player(或任何其他媒体播放器)并播放本地 .mp3 文件(或任何其他受支持的媒体文件),然后将 .iso 复制到服务器,速度会明显变慢。该文件现在需要 70 秒。
更糟糕的是,在某些情况下,这将完全切断客户端 PC 的网络连接,并且无法通过 ipconfig 或 Vista 自己的诊断和修复重新启动。更糟糕的是,当使用 Winamp 播放 .mp3 时,计算机将完全蓝屏并重新启动。关闭接收窗口自动调整修复了断开连接和蓝屏问题,伟大的,但我仍然希望能够减少播放媒体文件的带宽。
答案1
速度变慢可能是由多媒体类调度程序引起的。强力攻击是禁用服务. Mark Russinovich 有一个博客条目通过观察每秒受到限制的 ndis 数据包数量来了解如何判断它是否是多媒体类调度程序。 一些网站比如说增加 tcp 窗口大小,这样每个数据包就可以获得更多的数据。
这是关于远景的,但似乎给了注册表项进行调整以达到节流的目的。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\
CurrentVersion\Multimedia\SystemProfile\NetworkThrottlingIndex
0xFFFFFFFF 的值将禁用节流,否则为每毫秒的数据包数。需要重新启动。微软有一个支持文章 KB 948066描述密钥。
答案2
无论是 Bcshort 所说的还是我首先想到的都是硬盘 I/O。
如果您有多个硬盘 - 甚至是 USB 记忆棒,请尝试将 mp3 放在那里,播放它并复制 iso。
如果速度没有提高,那么很可能正如 Bcshort 所说的那样,与网卡卸载到 CPU 有关,但是如果速度确实提高了,我认为这与您的硬盘无法跟上有关。
我不能代表本地,但我知道从我的 nas 流式传输 mp3 可以看出,整首歌(尽管大约 4MB)并未加载到内存中,而是实时流式传输,如果我断开网线,我会得到大约 3 秒的音频,然后它就会掉线。这基本上意味着有很多读取操作同时进行。
扩展我的理论 - 如果我拥有两台带有 GB 网络的机器,并且想要传输 2 个大小相同的大文件,那么一个文件很容易就需要 10 分钟。如果我突出显示两者并传输到同一个文件夹,则需要 20 分钟……但是,如果我开始复制第一个文件,然后在单独的过程中复制第二个文件,则两个文件可能需要大约 30 分钟(有时更多)。
答案3
不知道硬件具体情况...
在我看来,网卡将相当多的处理任务交给了 CPU - 因此当 CPU 变得繁忙时,网卡在 CPU 上的份额就会减少,因此会因处理限制而变慢。
还要注意 Windows 2008 和大数据包会对某些网络硬件产生奇怪的影响。我们发现 HP NC373 芯片组没有处理校验和和大发送卸载导致数据包丢失的功能,因此不得不禁用该功能。