performance - 为什么 rsync 对于包含大量更改的大文件如此慢?
问题描述
我们有一个每周流程,将大量频繁更改的文件归档到一个tar
文件中,并使用以下方式将其同步到另一个主机rsync
(导致加速指标非常低,通常接近 1.00):
rsync -avr <src> <dst>
多年来,这个档案的大小一直在稳步增长,现在已经超过 200G。随着文件大小的增加,rsync
已经到了需要大约 20 小时才能完成同步的地步。但是,在进程开始之前删除目标位置的文件rsync
会导致传输仅在大约 1 小时内完成。
我知道rsync
的 delta-transfer 算法引入了一些开销,但它似乎不是线性的,而是随着非常大的文件大小呈指数增长。rsync
如果在网络上实际传输字节需要 1 小时,那么剩下的 19小时到底在做什么?
解决方案
推荐阅读
- sas - 在 sas 中将 ddmmyy 日期转换为日期时间
- java - Jdbctemplate queryforObject .IncorrectResultSizeDataAccessException:不正确的结果大小:预期 1,实际 10
- c# - 如何在没有正确索引的情况下发送数组/列表的表单值?
- xml - 如何在xslt中处理不同的相同节点
- python - 通过自定义聚合功能提高 pandas groupby 的效率
- asp.net - 如何从链接的 DLL 中引用 Request 对象?
- javascript - 解码(循环)直到字符串 URI 相同
- matlab - matlab中的二维离散傅里叶变换和逆DFT
- javascript - 为什么 Array.from(FileList) 会丢失所有元数据
- google-analytics - 全局网站代码 (gtag) 不发送任何内容