2个Linux服务器之间的multithreading文件同步

目前我运行rsync的总数为250GB的220万个文件,在6个小时内只需要700K的文件。

有谁知道一个rsync的工具,可以做到这一点与多个线程,所以它变得更快?

我怀疑CPU是这里的限制因素。 您很可能受传输的networking带宽和磁盘IO限制; 尤其是所有这些统计调用的延迟。

你能把文件系统层次分解成更小的块来并​​行处理吗?

什么是源文件,什么是写或修改它们? 是否可以在应用程序级别发送更改?

如果接收服务器的磁盘子系统是具有多个磁盘的arrays,则运行多个rsync进程可以提高性能。 我正在运行3个rsync进程来将文件复制到NFS服务器(每个RAID组有6个磁盘的RAID6)以使千兆以太网饱和。

这家伙报道了一个基本的python线程,产生多个rsync进程http://www.reliam.com/company/featured_geek

我已经阅读了许多类似的问题。 我认为唯一真正的答案是手动分解复制/移动。 IOps将是这里的问题。 如果它让你感觉更好,我正在移动200亿个文件,消耗100TB以上的磁盘空间。

您可以考虑检查linux的multithreadingcp克隆(开源): http : //static.usenix.org/event/lisa10/tech/slides/kolano.pdf