Por que o rsync é mais lento que o NFS?

Por que o rsync é mais lento que o NFS?

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.

informação relacionada