![Por que o rsync é mais lento que o NFS?](https://rvso.com/image/1344723/Por%20que%20o%20rsync%20%C3%A9%20mais%20lento%20que%20o%20NFS%3F.png)
Usando o rsync para copiar alguns arquivos grandes (24 MB cada):
bronger@steed:/tmp$ time rsync -r root@my_nas::media/distortion .
Password:
real 0m18.128s
user 0m2.600s
sys 0m5.756s
(Subtraia 2 segundos para digitar a senha.) Agora, a mesma coisa com o NFS:
bronger@steed:/tmp$ time cp -a /mnt/media/distortion .
real 0m5.569s
user 0m0.036s
sys 0m2.128s
Como isso pode ser? Não há compactação ou criptografia envolvida, mas o uso da CPU no lado do servidor é de 100%. É um NAS com CPU ARM lenta, mas mesmo assim qualquer ação de cópia deve ser limitada por IO.
O arquivo rsyncd.conf diz:
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
use chroot = no
[media]
path = /volume1/media
comment = Main volume
fake super = yes
uid = 1000
gid = 1000
read only = no
list = yes
charset = utf-8
auth users = root
secrets file = /etc/rsyncd.secrets
Responder1
O rsync é mais lento que o NFS se o rsync estiver vinculado à CPU. rsync émuitomenos eficiente que o NFS quando se trata da mera transferência de dados. No meu caso, o rsync consumiu 100% da CPU enquanto o NFS precisava de apenas 20%, e o NFS ainda era mais rápido por um fator de 3. Isso significa que o rsync consumiu 15 vezes (!) mais recursos de CPU do que o NFS para a mesma quantidade de tráfego de rede. Transferi arquivos grandes.
A melhor abordagem nesse cenário é montar o diretório com NFS na máquina mais rápida e copiar os arquivos localmente com rsync.
Veja umArtigo LWNde alguém com um problema semelhante.
Responder2
O RSync fará sua lição de casa antes de começar para garantir que a cópia seja um requisito.
Se você já tivesse versões locais dos arquivos iguais, o rsync teria vencido porque é mais inteligente.