为什么我的网络文件复制速度大行其道?


17

通过升级到Windows 10,我现在在复制文件时得到了这个漂亮的图表。

当我复制一个大文件时,速度总是采用这种合理一致的波形。是什么原因造成的?

连接是

My PC <- cable -> gigabit switch <- cable -> Netgear ReadyNAS

文件正在通过SMB复制,此图显示了大约一分钟的时间:

Windows 10的复制速度图

这里没有问题,我只想了解事情是如何进行的。


1
有关ReadyNAS磁盘配置的更多详细信息将有所帮助。您是否在三个驱动器上使用RAID 5?每个驱动器上的写入速度是多少?每个驱动器上的缓冲区是什么?ReadyNAS是否使用任何缓存?您是否尝试过其他工具(例如TeraCopy)来查看传输速率是否不同?否则,磁盘缓存写入可能会出现瓶颈,尤其是在您的写入速率不好的情况下(例如Seagate Barracuda)。
太阳

您是否定期关闭可能正在使用NAS的所有其他进程?
Arjan 2015年

Answers:


6

简短答案:写缓存

TL; DR:首先,与许多较小的文件相比,复制单个较大的文件的开销要少得多。这意味着PC和NAS不会“浪费”大量时间来寻找文件,更新文件表和文件系统元数据。这也意味着更高的吞吐量,这很可能揭示设置中的某些带宽瓶颈。

带宽图中的峰值和谷值似乎以固定的间隔出现,并且考虑到您正在复制单个大文件(最大带宽,最小开销),我想说您正在看到缓冲/缓存的效果。

在我看来,您可能正在以比将数据写入磁盘更快的速度向NAS发送数据。多亏了写入缓存/缓冲区,它仍然能够以更快的速率(图的峰值)接收它,但是您不能不将数据提交到磁盘就继续接收数据。

最终,缓冲区将运行满,必须将其写入磁盘。同时,NAS无法像以前一样快地接收数据,因为它没有存储数据的位置(缓冲区已满,磁盘速度较慢)。这是您获得图形谷的地方。

Windows似乎正在使吞吐量图更平滑。使用更精确的图形(例如从Performance Monitor中获得),您可以通过分析间隔和传输的字节来实际估计写缓冲区的大小。

峰和谷之所以不出现完全相同的间隔,可能是因为PC,NAS或两者在复制文件时正在执行“其他操作”。


一旦缓冲区已满,那不会产生一条带有突然尖峰(下降到大约零)的水平线吗?
Arjan 2015年

文件复制图看起来很平滑,可能是为了视觉上的吸引力。PerfMon可能会产生更准确的图形。而且,这将取决于用于刷新到磁盘的算法-例如,停止接收数据直到所有数据都写入磁盘,而将接收数据限制为较慢的速率,这允许比接收新数据更快地写入磁盘。
Abstrask

17

没有大量的进一步调查,很难做出权威的回答。感谢您使用时标和协议更新您的问题。

它可以正常使用TCP“扇贝”。TCP会尽可能快地运行,直到遇到数据包丢失为止。然后它后退一点,然后再次上升。因此,它一直“把头撞到天花板上”。这是如何在不使拥塞恶化的情况下最大化可用带宽的方法。我通常在TCPTrace图中查看TCP扇贝,这与该图有些不同。我希望它在这种图形中看起来更像锯齿状,但是在此图形中可能会进行一些平滑处理。现在,考虑到这一点,TCP扇贝的时间尺度将比该图看起来的要小得多。

也可能是您的远程文件系统协议(SMB)一次读取了一个文件块,而DIP则是一个文件块读取完成而正在请求下一个文件读取的位置。


很抱歉缺少细节,我不确定人们需要知道什么。我正在使用smb,该图覆盖了大约一分钟的时间
Gricey 2015年

4
@Gricey:不要评论:解决问题!!
与莫妮卡(Monica)进行的轻度比赛

-1用于不必要的挑剔
检举 user541686

@LightnessRacesinOrbit固定
Gricey

1
@Gricey我对细节如此挑剔表示歉意。我理解这样的观点:如果您不知道人们需要什么细节,那么很难记录下很多东西。在确保记录足够多的内容以免帮助人员感到沮丧之前,以及感觉到您可能正在浪费时间记录无关紧要的内容之间,这是一个艰难的平衡。
扩散

0

我认为Microsoft在Windows 8 的进度栏中引入了此功能

从左至右显示了以百分比进度上下运动显示了在MB的传输速率/秒

传输速率取决于媒体的速度(总线或网络),文件的数量和大小,文件系统和资源的可用性等。

同样在文件传输过程中,会发生许多元数据读/写操作。

您会看到一个相当一致的波动,因为此元数据读/写开销减少了,并且其他资源的使用率相同。偶尔的下降可能是数据包丢失,下一个块读取,资源轮询等事件。

为了进一步澄清,请进一步阅读


3
这并不能真正回答问题。
与莫妮卡(Monica)进行的轻度比赛
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.