Eu tenho que mover cerca de 320.000 arquivos, 80.000 pastas (apenas 100 Gb) de dados. Alguns arquivos têm mais de 1 GB, mas a maioria tem menos de 1 KB.
Eu tive uma olhada método mais rápido de copiar os arquivos , mas não tenho certeza o quão útil qualquer um destes será, meu problema não é sobre velocidades de taxa de transferência pura, mas realmente sobre a rapidez com que o Windows pode lidar com o IO de 320.000 arquivos.
Você acha que vou ver os benefícios da velocidade usando xcopy, robocopy, teracopy ou fastcopy?
Demoramos muito tempo (12 horas +) para copiá-los uma vez (usando robocopy), e eu odeio ter que fazer isso novamente. O que posso fazer para acelerar?
O material está em uma unidade externa USB 2.0.
Descobri que a maneira mais eficiente de copiar um grande número de arquivos era transmiti-los primeiro para arquivos ISO e depois copiar os ISOs. Dessa forma, o disco não se preocupa em emitir os milhares de comandos necessários para copiar arquivos.
Claro que isso depende da sua estrutura de diretórios. Tive a sorte de criar um novo diretório em intervalos de 4,7 GB, o que facilitou a criação de um VBScript para automatizar o processo.
fonte
Você certamente experimentará um desempenho geral melhor para a sequência de transferência se primeiro compactar os arquivos de origem em um único arquivo (tar ou compactado em zip, etc.), depois transferir o arquivo pela rede e depois descompactar o arquivo no diretório destino.
Por favor, não esqueça que, ao transferir o arquivo pela rede, será melhor usar ftp (ou outro protocolo de transferência orientado a arquivos) do que uma simples cópia de arquivo SMB.
Usando um processo como o acima, eu transfiro rotineiramente diretórios de aplicativos de cerca de 60 GB (com cerca de 50.000 a 75.000 arquivos) entre vários datacenters separados geograficamente, (EUA, Europa, Ásia). A diferença entre transferir um arquivo de cada vez e transferir um arquivo compactado por FTP é 10 a 40 vezes mais rápido.
O Rsync também pode ser seu amigo aqui (como em muitos outros cenários de transferência de arquivos).
Se você está aberto a opções comerciais, uma solução de streaming binário baseada em UDP que pode enviar bits por vários fluxos UDP pode ser valiosa para você. Dê uma olhada em http://www.filecatalyst.com/
fonte
Outra opção seria usar o Bittorrent usando um rastreador embutido ou o DHT ativado. O cliente agruparia todos os arquivos em blocos (use 2 MB ou mais, se disponível). No lado de recebimento, você receberá arquivos em grandes blocos à medida que forem gravados no disco rígido. Isso ajuda a consolidar seus arquivos pequenos em pedaços de 2 MB e você obtém melhores taxas de transferência e
fonte