我正在尝试将我的一些内容备份到基于 ESATA 的驱动器。
然而我发现传输速度真的很慢:
rsync -avzP ...
someFile
1062838 100% 1.96MB/s 0:00:00 (xfer#1371, to-check=1099/118283)
someFile
1062751 100% 1.42MB/s 0:00:00 (xfer#1372, to-check=1098/118283)
someFile
1027193 100% 1.08MB/s 0:00:00 (xfer#1373, to-check=1097/118283)
someFile
1093821 100% 967.56kB/s 0:00:01 (xfer#1374, to-check=1096/118283)
someFile
1103236 100% 3.48MB/s 0:00:00 (xfer#1375, to-check=1095/118283)
someFile
1204130 100% 2.23MB/s 0:00:00 (xfer#1376, to-check=1094/118283)
someFile
1187734 100% 1.53MB/s 0:00:00 (xfer#1377, to-check=1093/118283)
someFile
1115959 100% 1.15MB/s 0:00:00 (xfer#1378, to-check=1092/118283)
someFile
1137257 100% 992.50kB/s 0:00:01 (xfer#1379, to-check=1091/118283)
someFile
32768 3% 264.46kB/s 0:00:03
但是 hdparm 告诉我这个驱动器可以做更多的事情:
jazz home # hdparm -Tt /dev/sdd
/dev/sdd:
Timing cached reads: 984 MB in 2.00 seconds = 491.45 MB/sec
Timing buffered disk reads: 280 MB in 3.01 seconds = 93.07 MB/sec
可能导致这种情况的一个原因是我已设置 LVM 并且正在从 RAID5 vgroup 复制。但我真的应该因此而导致性能如此缓慢吗?
这是 Ubuntu 盒子上的 ext4 分区,跨越 ESATA 驱动器上的另一个 ext4 分区。
我能做些什么来加快这个速度?
答案1
你确定它真的很慢吗?大多数文件传输程序对于耗时不到几秒钟的传输都给出不可靠的结果。你的总吞吐量是多少?
如果确实很慢,那么这不太可能是 eSATA 问题。LVM 的开销非常低,RAID 5 不会对读取造成任何影响。确保文件系统使用 relatime(或 noatime)安装,因为这是 rsyncs 的常见抖动源。
答案2
因此,在我看来,问题的关键在于 rsync 命令的“z”参数。不再使用 z 进行压缩,我的速度一下子提升到了 20-30 MB/秒。
很高兴知道 - 我猜只有当我的带宽是限制因素时才应该使用压缩。
答案3
mount -o sync
(或noasync
)确实会损害性能,但有时在可移动媒体上使用,以减少意外拔出时可能发生的损坏。我不使用
您的磁盘是否默认同步安装取决于您的硬件、软件识别硬件是 eSATA 还是内部 SATA 的能力以及您的配置。我不太确定 Ubuntu 会怎么做。但如果是这种情况(通过阅读 的输出很容易检查mount
),您可以直接卸载并重新安装,而无需sync
。