Existe algo mais que 'fastcheck' para acelerar o Unison?

1

Eu uso rotineiramente o Unison para sincronizar diretórios de usuários entre estações de trabalho nas quais o usuário deve trabalhar. Infelizmente, à medida que a empresa cresce, o Unison se torna mais lento e lento ao determinar quais arquivos foram alterados. O tempo gasto pela transferência real é insignificante em comparação.

A sincronização é feita na topologia em estrela, com o servidor unison RAID-6 no centro. Algumas estações de trabalho usam o Windows (com NTFS), alguns Linux com Ext-4 ou BTRFS (!).

No momento da escrita, há um usuário, cujo diretório pessoal é 45GB grande com 100K arquivos, e o tempo total de sincronização leva cerca de 30 minutos para ele. Note que o simples cruzamento de diretório com find >null leva menos de 2 minutos.

Quais são as estratégias para acelerar ainda mais o processo? (exceto reduzir o número de arquivos para sincronizar) Acredito que, em teoria, o Unison pode ser acelerado, mas a opção fastcheck não é suficiente.

    
por Adam Ryczkowski 29.12.2012 / 11:18

1 resposta

3

OK, eu encontrei o culpado: o uníssono ignora a opção fastcheck dos arquivos xls e mpp e sempre realiza a comparação completa para eles. Isso acontece porque o Excel tem o hábito de modificar os arquivos xls sem alterar a data da última modificação.

Infelizmente para nós, xls torna os arquivos cerca de 20% do volume total dos documentos.

Editar o /usr/bin/unison no editor hexadecimal e substituir xls por algo que provavelmente não foi encontrado (como xxx ) resolveu o problema.

Em sistemas de arquivos Unix (btrfs, ext4) este procedimento deve ser seguro, uma vez que qualquer alteração do arquivo deve mudar o número do inode, e o uníssono deve usar esta informação se disponível. Quanto aos clientes baseados em NTFS, acho que devemos sofrer o tempo lento ... ou talvez haja alguma alternativa (abandonar o Excel ou alterar o sistema de arquivos).

Depois dessa invasão, o uníssono acelerou mais de dez vezes!

    
por 29.12.2012 / 11:39

Tags