No momento, estou executando o rsync para 2,2 milhões de arquivos, totalizando 250 GB, e isso leva apenas 700 mil arquivos em 6 horas.
Alguém conhece um rsync como ferramenta que pode fazer isso com vários threads, para que seja mais rápido?
No momento, estou executando o rsync para 2,2 milhões de arquivos, totalizando 250 GB, e isso leva apenas 700 mil arquivos em 6 horas.
Alguém conhece um rsync como ferramenta que pode fazer isso com vários threads, para que seja mais rápido?
Respostas:
Duvido que a CPU seja o fator limitante aqui. Você provavelmente está limitado pela largura de banda da rede para a transferência e pelas E / S do disco; especialmente latência para todas essas chamadas de estatísticas.
Você pode dividir a hierarquia do sistema de arquivos em pedaços menores para processar em paralelo?
Quais são os arquivos de origem e o que os está escrevendo ou modificando? Seria possível enviar alterações conforme elas ocorrem no nível do aplicativo?
Se o subsistema de disco do servidor de recebimento for uma matriz com vários discos, a execução de vários processos rsync poderá melhorar o desempenho. Estou executando 3 processos rsync para copiar arquivos para um servidor NFS (RAID6 com 6 discos por grupo de ataques) para saturar a Ethernet Gigabit.
Esse cara relata um chicote básico de python que gera vários processos rsync http://www.reliam.com/company/featured_geek
Você pode considerar verificar o clone cp multithread para linux (código aberto): http://static.usenix.org/event/lisa10/tech/slides/kolano.pdf