Devo usar a compactação rsync em uma LAN gigabit?

4

Normalmente, uso a opção -z do rsync para ativar a compactação ao transferir arquivos pela Internet. No entanto, se eu estiver sozinho (inativo) LAN gigabit, ainda quero compactação? Ou será mais rápido sem isso? De que fatores isso depende? (Ainda não fiz nenhum benchmark).

Então, basicamente, é mais rápido: comprimir + transferir + descompactar ou simplesmente transferir não compactado?

Se a sua conexão de rede é lenta, é obviamente melhor comprimir ... mas e se tudo estiver rodando em uma rede ethernet gigabit?

    
por Corey Goldberg 18.07.2014 / 19:43

4 respostas

13

Durante uma transferência de rsync, você está limitado à CPU ou seu link está saturado.

  • Se seu link estiver saturado, mas sua CPU estiver ociosa, comprima.
  • Se a sua CPU estiver no máximo e o seu link não estiver, não compacte.
por 18.07.2014 / 19:48
5

Eu trabalho com bastante frequência, migrando dados entre servidores e durante transferências de dados impossivelmente longas ...

A resposta curta é testar com seus dados específicos ... Isso é realmente fácil de fazer. Tente uma transferência de LAN com a compressão desligada, depois tente com compressão em ...

Na minha experiência com conjuntos de dados de produção em alguns ambientes, em uma conexão GigE ou superior, a ativação da compressão rsync acelerou as transferências para ~ 40 Megabytes / segundo ( ou 33% da velocidade máxima teórica de um link Gigabit ).

Essa taxa variou com o tamanho e o número de arquivos sendo transferidos também ( muitos arquivos pequenos, por exemplo, a taxa de transferência rsync geral reduzida ). Os subsistemas de armazenamento do emissor e dos receptores também eram importantes.

Recentemente, tenho usado um rsync modificado para transferências de LAN. Ao usar a biblioteca UDR com rsync (permitir transferência UDP) e desativar a compactação e a criptografia, posso obtenha transferências rsync com velocidade de cabo com tipos de arquivo mistos, independentemente do número de arquivos.

    
por 19.07.2014 / 09:06
1

Como Zoredache disse, se o seu link não estiver saturado, não -z. Além disso, outra coisa que você pode considerar para ajudar a gerenciar transferências longas é a sinalização bwlimit.

    
por 18.07.2014 / 20:12
0

Alguns detalhes para complementar a resposta do Zoredache:

  • Use top nas máquinas para verificar o uso da CPU. Particularmente na máquina de envio. Use ssh para chegar ao remetente se for remoto.

  • Use o rsync com a opção --progress se você tiver arquivos grandes suficientes para mostrar velocidades significativas. Se os arquivos forem em sua maioria pequenos, isso pode não lhe informar muito sobre a velocidade da rede. Nesse caso ...

  • Use nload em uma das máquinas para ver a velocidade da rede

E, em caso de dúvida, não comprima.

A maioria dos arquivos grandes já está compactada (filmes, imagens, instaladores, etc.), portanto, tentar compactá-los mais é uma perda de tempo.

    
por 02.01.2016 / 16:12