随着升级到 Windows 10,我现在在复制文件时得到了这个漂亮的图表。
当我复制单个大文件时,速度总是采用这种合理一致的波形。是什么原因造成的?
连接是
My PC <- cable -> gigabit switch <- cable -> Netgear ReadyNAS
Run Code Online (Sandbox Code Playgroud)
文件正在通过 SMB 复制,此图显示了大约一分钟内的一个此类副本:
这里没有问题,我只是想了解事情是如何运作的。
Spi*_*iff 17
没有大量的进一步调查,很难权威地回答。感谢您使用时间尺度和协议更新您的问题。
它可以正常的TCP“扇贝”。TCP 尽可能快地运行,直到遇到数据包丢失。然后它稍微后退并再次上升。所以它一直“用头撞天花板”。这就是它如何在不加剧拥塞的情况下最大化可用带宽。我通常在 TCPTrace 图中查看 TCP 扇贝,与此图略有不同。我希望它在这种图表中看起来更像锯齿,但在这个图表中可能会有一些平滑。现在我仔细想想,TCP 扇贝的时间尺度比这张图似乎显示的要小得多。
也可能是您的远程文件系统协议 (SMB) 一次读取一个文件块,并且下降是一个块读取完成并且正在请求下一个块的地方。
简短回答:写缓存
TL;DR:首先,与许多较小的文件相比,复制单个大文件时的开销要少得多。这意味着 PC 和 NAS 不会“浪费”很多时间寻找文件、更新文件表和文件系统元数据。这也意味着更高的吞吐量,这可能会揭示设置中的一些带宽瓶颈。
带宽图中的峰值和谷值似乎以相当规律的间隔出现,并且考虑到您正在复制单个大文件(最大带宽,最小开销),我会说您看到了缓冲/缓存的效果.
在我看来,您向 NAS 发送数据的速度可能比将数据写入磁盘的速度要快。多亏了写缓存/缓冲区,它仍然能够以更快的速度(图表的峰值)接收数据,但是如果不将数据提交到磁盘,就无法继续接收数据。
最终缓冲区将满载,必须写入磁盘。同时,NAS无法像以前那样快速接收数据,因为它没有地方存储数据(缓冲区已满,磁盘速度较慢)。这是您获得图形谷值的地方。
Windows 似乎正在平滑吞吐量图。使用更精确的图表(例如来自性能监视器),您实际上可以通过分析间隔和传输的字节来估计写入缓冲区的大小。
峰值和谷值不会以完全均匀的间隔出现的原因,可能是因为 PC、NAS 或两者在复制文件时正在执行“其他操作”。
| 归档时间: |
|
| 查看次数: |
6487 次 |
| 最近记录: |