如何估计在内部和外部驱动器之间传输文件所需的时间?

如何估计在内部和外部驱动器之间传输文件所需的时间?

我的笔记本电脑 USB 端口是 USB 2.0。我的外部硬盘是 USB 3.0。维基百科

由于总线访问限制,高速信号速率的有效吞吐量限制为 35 MB/s 或 280 Mbit/s。

我需要传输的文件总大小为 17GB。

  1. 如何估算文件传输的时间?简单计算一下,传输时间为

    17*2^10/35/60 = 8.3 分钟。

  2. 我用来rsync在 Ubuntu 下执行传输,并且还对传输进行计时:

    $ time rsync -a /media/t/2/  ./   
    real    106m45.245s
    user    3m6.938s
    sys     1m25.902s
    

    rsync请注意,我还同时在相同的内置和外置硬盘之间进行了另外两次类似的数据传输。所有其他程序均未处于活动状态,但我猜想硬盘之间的数据传输不会占用太多 CPU 时间(系统 + 用户)。

    但差异仍然很大 (106 分钟 vs 8.3 分钟)。哪些因素主要影响时间?

谢谢!

答案1

这里还需要考虑其他几点。

  • 文件数量。传输单个大文件和传输多个文件有很大不同。这是由于读写每个文件的操作和延迟增加。
  • 所涉及的两个磁盘的性能、寻道时间、主轴速度等。

由于有许多变量在起作用,因此很难得出可靠的计算结果。如果你想知道最大的瓶颈在哪里,你应该查看链中每个步骤的性能测试。我主要关注内部和外部磁盘的性能测试,因为 USB2 接口可能比两者都慢。ATTO 是一个很好的起点ATTO 基准

相关内容