gpt4 book ai didi

performance - 对于已更改的文件,rsync 真的更快吗?

转载 作者:行者123 更新时间:2023-12-02 08:57:01 26 4
gpt4 key购买 nike

为什么我不能相信 rsync 的速度至少与 cp 一样快? (我忽略了可以忽略不计的开销差异。)

在我看来,rsync 在没有内容差异的文件上相当慢,但时间戳发生了变化。

如果我创建一个文件:cp -a testfile-100M destfile

然后我重新同步它们,我得到了你所期望的:

$ rsync -av testfile-100M 目标文件发送增量文件列表

发送 56 字节 接收 12 字节 8.00 字节/秒总大小为 104857600 加速为 1542023.53

但这只是因为 rsync 正在检查大小和时间戳并跳过文件。如果我只更改时间戳怎么办?

$ touch testfile-100M

$ rsync -av testfile-100M destfile 发送增量文件列表测试文件-100M

发送 104870495 字节 接收 31 字节 113804.15 字节/秒总大小为 104857600 加速为 1.00

另请注意,即使加速比为 1,初始副本的完成时间也比最终 rsync 花费了大约 1/4 的时间,尽管内容完全相同。那么这是怎么回事呢?这只是进行比较的所有开销吗?

如果是这样的话,那么 rsync 何时能提供性能优势?仅当文件两面完全相同时?

最佳答案

对于本地文件,如果大小或 mtime 发生变化,rsync 默认情况下只会复制整个文件,而不使用其增量算法。您可以使用 --no-whole-file 选项关闭此功能,但对于本地副本,这通常会更慢。

对于触摸文件而不更改它的特定情况:

  • 如果您提供--size-only选项,它将假定具有相同大小的文件未更改。

  • 如果您提供 --checksum 选项,它会首先对文件进行哈希处理,以查看是否有任何更改,然后再进行复制。

关于performance - 对于已更改的文件,rsync 真的更快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4128551/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com