Zul*_*kis 4 linux performance rsync ubuntu-12.04
我有两个相同型号的驱动器,它们使用 SATA 连接。
使用 对读取速度进行基准测试时hdparm -t /dev/sdX,160MB/s会返回大约速度。使用 对写入速度进行基准测试dd if=/dev/zero of=testfile bs=1M count=500 conv=fdatasync时,140MB/s返回大约速度。
但是,当使用 复制单个 10GB 文件时rsync --progress /mnt/hd1/file /mnt/hd2/file,写入速度仅为35MB/s.
为什么这么慢?我怎样才能让它更快?
根据我在研究这个问题时发现的许多站点(例如这个),这很正常,因为 rsync 的瓶颈通常是 CPU 功率。
dd 和 cp 的结果接近我最初的基准测试速度。似乎 2,2Ghz 双核对于 hdd 速度的 rsync 来说还不够。
在进一步的研究中,我还发现了这一点:
正确,rsync 没有选项可以完全禁用传输后校验和。我为 rsync 2.6.9 实现了一个补丁,它添加了一个选项 --trust-append 将传输后校验和限制为添加的部分,而不是整个文件。补丁已附上。这应该足够好了,但是如果您真的想完全禁用校验和,只需注释掉 match.c 和 receiver.c 中剩余的 sum_update 调用。
Rsync 总是对整个文件进行校验和,这需要很多时间。使用上面提到的补丁,我设法将 rsync 速度提高到大约 90MB/s。仍然不是很好,但比以前好多了。遗憾的是,该补丁还没有进入 rsync-trunk。
| 归档时间: |
|
| 查看次数: |
8074 次 |
| 最近记录: |