Gau*_*ang 13 performance speed gigabit-ethernet teracopy windows-8
今天我第一次体验了千兆网络,这是在我的 2011 MacMini 和 Windows 8 Pro 桌面之间通过 Cat.5e 连接到 Linksys WRT320N(运动型 dd-WRT)。
在确保两个系统上的线路速度都显示为 1Gbps 后,我继续将 2.4GB MP4 从 Mini 复制到 Win 8 桌面(SMB 共享)。尽管对 Teracopy 显示的 30-34 MB/s 感到满意(这对我来说是 10 MB/s 的适当提升),但我仍然对广告速度和实际速度之间的巨大差异感到好奇。
2 小时的谷歌让我相信还有其他因素导致速度降低,SMB 就是其中之一。因此,只是为了做到这一点,我对两个系统都进行了 iPerf 测试,然后猜猜结果如何 - 在两个系统上都大约 875mbps!
然后我偶然发现了这条小信息,之后我关闭了 Teracopy 并通过 Windows 8 的常规复印机复制了相同的文件。109 MB/秒。熔化的大脑:)
究竟是什么原因造成的?我可以通过 Teracopy 启用这样的速度吗?我真的很喜欢 Teracopy 的额外功能,现在肯定会想念它们:D
Syn*_*ech 16
通过千兆位连接,Teracopy 的速度为 31MB/s,但 Windows 8 的速度约为每秒 109MB?
究竟是什么原因造成的?我可以通过 Teracopy 启用这样的速度吗?我真的很喜欢 Teracopy 的额外功能,现在肯定会想念它们:D
两个字:验证和缓存
这是使用 Windows 资源管理器复制文件的一般过程:
这看起来很简单也足够简短。使用这种传输算法,文件的每个字节只处理两次:一次读取,一次写入。
但此外,Windows 使用内存(与驱动器本身一样)来缓存一些数据。因此,无需等待前一个块完成写入,然后读取下一个块,而可以在前一个仍在写入的同时读取新的块。显然这不能永远保持下去,但 Windows 可以使用所有剩余的可用内存作为临时缓冲区来存储大部分(如果不是全部)正在内存中读取的文件。
您可以通过将一个大文件(或包含大量文件的文件夹)从一个驱动器复制到另一个驱动器,然后立即比较两者来查看缓存的运行情况。那时的比较将比稍后进行比较要快得多,因为文件仍在内存中,因此它实际上并没有从驱动器中读取它们。
由于内存非常快,并且读取速度往往比写入速度快一点,最终传输速率最终仅受目标驱动器的写入速度的限制。
Teracopy 可以做两件事来减慢 Explorer 不做的文件传输速度:
放弃缓存并直接从驱动器读取
验证目标是否正确写入
与仅在传输过程中检查基本错误的 Explorer 不同,Teracopy 实际上可以验证数据是否正确写入目标驱动器,以防止由于传输介质(网络/驱动器电缆/等)问题而可能发生的数据损坏。 ) 或驱动器本身(坏扇区等) 这样做意味着它必须从目标读取文件以将其与原始文件进行比较。
根据使用的算法和文件的大小,验证可以优化为每个文件/文件块的低至(但不少于)三个驱动器操作,而不是资源管理器的两个:从源读取文件,写入文件文件到目的地,并从目的地读取文件。
看看当您使用 Teracopy(使用 HDD 优化算法)复制文件时会发生什么:
问题是,如果您在传输期间缓存文件,则比较变得无用,因为您不是在读取目标驱动器上的实际数据,而是从源读取缓存在内存中的副本。因此,要正确验证,您必须清除缓存。这可以在每次读取和写入之后完成(这是一个额外的操作,对于任何显着大小的文件最终会被执行无数次),或者在整个文件传输后仅执行一次。
根据下面的截图,TeraCopy在文件传输后执行验证,而不是在传输过程中。这意味着它使用这种 CPU/RAM 优化的传输算法:
虽然此算法对 CPU 和 RAM 的压力略小,但它也给驱动器带来了更大的压力,因为现在每个文件都必须处理四次:从源读取整个文件,将其写入目标,然后从源再次读取它,然后从目标再次读取。
(如果 TeraCopy 针对网络传输进行了优化,那么它可以避免第二次发送整个文件进行验证,只发送更小的哈希值,但目前看来并非如此,并且网络驱动程序的处理方式相同作为本地驱动器,所以它实际上重新读取源。)
默认情况下,TeraCopy 不验证或使用缓存。不验证会加快传输速度(或更准确地说,不会减慢传输速度),而不使用缓存会减慢传输速度。
要确定您的特定速度结果,您必须检查您的设置以查看您是否已更改它们。然后,您可以尝试估算使用不同设置会获得什么样的速度(请注意,它们可能会相互作用,因此这不是加减的简单问题)。
也就是说,让我们使用您的数字进行粗略计算:
马上,我们看到 Explorer 的文件传输几乎使您的网络吞吐量最大化。1Gbps 链路等于每秒1,000,000,000位,以二进制字节为单位,为 119MBps。Explorer 的时钟速度为 109MBps,剩下的 10MBps(有趣的是,这是您之前的max :^Þ)很容易被开销、后台负载和碎片占用。
(由于传输速率几乎等于网络速度,我们可以推测 Explorer 的文件传输是单向的,并且每个文件只发送一个副本。)每个文件访问两次文件时,Explorer 获得 110MBps。
现在是 TeraCopy。似乎 TeraCopy 的速度几乎是 Explorer 速度的三分之一。
根据其首选项对话框是否准确指示其使用的算法,TeraCopy 实际上可能会发送整个源文件两次,以便它可以检查副本。这立即将吞吐量减少了一半。如果缓存打开,那么它也会降低速度,因为它必须等待每个写入完成才能发送新块。与验证结合使用时,它甚至可以将其击倒。
如果您打开验证并关闭缓存,那么 34MBps 的传输速率似乎是合理的。如果您关闭验证并打开缓存,您应该获得与 Explorer 大致相同的结果(您可能仍然获得略少甚至略多,具体取决于 TeraCopy 使用的文件传输代码与 Explorer 使用的文件传输代码有何不同)。
如果您想传输近 10GB 的数据,那么您也可以尝试更改设置并为四种排列中的每一种重新进行传输,并记下您获得的速度(为安全起见,对其进行排序,以便缓存运行之间关闭:)V+C+, V+C-, V-C+, V-C-。
小智 0
我无法为您的问题提供 100% 的答案,但我可以添加更多可能有帮助的内容。
我切换到 Teracopy 的原因是 Windows 必须在执行任何操作之前“计算”所有内容,而这种计算本身有时会冻结整个过程。在其他帖子中,有人提出被复制的文件类型在 Windows 复制中很重要,但在 Teracopy 中我不能肯定地说,因为我还没有看到这一点。但到目前为止,我自己的尝试给我带来的收获比你在任何情况下得到的都要少。我只是复制通用文件类型,而不是媒体(即照片/电影)文件。
我的测试从 100% GB 网络上具有 GB NIC 访问权限的希捷 3TB NAS 到 GB 系统。最好的情况是 14 Gbps。Windows 从 NAS 迁移到系统 HD 的速度为 12.4GBps,启动时间稍长。没有任何东西可以达到 30-34Mbps,更不用说 109Mb/s 了。
部分原因肯定是由于 NAS 的流量控制,即使在 GB 网络上也是如此。如果我能达到 34GB/s,我会非常高兴,如果我能达到 109GB/s,我会更高兴。如果您找到更快的文件复制器,请发布!:)
| 归档时间: |
|
| 查看次数: |
20781 次 |
| 最近记录: |