buffer de arquivos de sincronização WinSCP (arquivos 210K!)

1

Eu tenho uma pasta sendo sincronizada (espelhada) remotamente, usando o comando synchronize -mirror -delete remote , sobre FTP.

A pasta que estou sincronizando contém 209.068 arquivos e 19.079 diretórios, e assim, mesmo que seja apenas para verificar se tudo está sincronizado, demora muito tempo.

A maneira como parece que o WinSCP faz isso, leva 1 arquivo por vez e verifica se está atualizado. Se não for, faz o upload.

Esse processo leva uma eternidade. Arquivos de 210K, com um ping de pelo menos 50ms, o que significa cerca de 3 horas de apenas comparando arquivos! Nem mesmo sincronizando. (não levando em consideração o tempo real de manuseio)

Então, eu queria saber se talvez haja uma maneira de compará-lo em lote (pedir metadados para um arquivo de 100 por vez) ou talvez criar um buffer de 100 solicitações por vez, o que seria muito mais rápido (cerca de 100 vezes mais rápido), o que seria de 1,8 minutos em vez de 3 horas.

Se não, talvez haja um software diferente que eu possa usar e tenha um desempenho melhor nesse tipo de tarefa?

Editar: Por que acho que ele faz 1 arquivo por vez? Ao executar o comando sync, esta é a saída que estou vendo:

E:\sync\a.txt -> \Sync\a.txt

Menos de um segundo depois:

E:\sync\b.txt -> \Sync\b.txt

E assim por diante, cada arquivo mostra, na ordem do diretório, uma parte de um segundo após o outro

Edit2: correção

  • Ao sincronizar uma pasta, ela é enviada por arquivo.
  • Ao verificar se uma pasta está sincronizada, ela vai de pasta em pasta.

Minhas informações anteriores estavam incorretas, minhas desculpas.

    
por Amit 06.02.2017 / 21:32

1 resposta

1

O ftp e o sftp são muito lentos ao transmitir um grande número de arquivos pequenos.

Se for possível (isto é, se você tiver acesso ao shell ssh), por favor, tente usar rsync , deve ser muito mais rápido, especialmente quando alguns arquivos foram transferidos antes e apenas alguns deles foram alterados.

Existem várias implementações do rsync para Windows. Eu recomendo grsync , já que tem uma interface gráfica.

    
por 07.02.2017 / 09:11