如何避免使用ssh在rsync中加载?

我在Linux服务器上有大量的数据(300GB)。 现在,我想通过ssh使用rsync传输到另一台Linux服务器。 当我传输的数据在服务器中创build巨大的负载。 可以通过ssh传输大量数据,知道如何避免服务器负载?

使用一个较弱的ssh密码(例如arcfour),如下所示:

rsync -av source --rsh="ssh -c arcfour" foo@bar:/destination

甚至可能有更弱的密码,但是arcfour是我的首选,因为它不是安全和速度之间的最佳平衡(在我的情况下,search密码基准,周围有很多)。
或者完全不使用ssh,并在目标服务器上运行rsync守护进程。

通过在rsync中包含ionice和nice命令,我find了避免在远程服务器和本地服务器之间的文件中加载服务器的解决scheme

 ionice - get/set program io scheduling class and priority nice - run a program with modified scheduling priority #rsync -r -az --rsync-path="ionice -c 3 nice rsync" -e "ssh -p 8363" username@ip-address:/source-file /destination 

或者,如果您所关心的负载是CPU负载,并且您拥有使用AES指令的现代CPU(尽pipe您的描述看起来不太可能),则可以使用Intel Accelerator Engine 。 里面有关于如何设置它的信息。 也可能有一些与发行有关的方式来设置它。

要看看你是否有'现代'的CPU,使用grep aes /proc/cpuinfo

你可以通过Rsync --whole-file来补充它

本地拷贝默认的rsync会复制整个文件,但是为了减lessnetworkingstream量,远程同步会被分散,这会大大增加CPU的负载。

 rsync -av --whole-file -e ssh {source} {destination} 

资源