A maneira mais rápida de espelhar o diretório pela rede

1

Estou tentando acelerar o processo de implantação, atualmente tenho um único servidor de armazenamento temporário e um farm da web em produção.

Atualmente, uso robocopy para espelhar cada servidor de farm da web do servidor de armazenamento temporário, no entanto, isso é muito lento.

O meu comando de cópia é o seguinte

ROBOCOPY %codeSourceDir% %targetSite% /MIR /XF *.config

Qual é o espelho das pastas, excluindo os arquivos *.config .

Este comporta-se correctamente, mas para copiar 200 mb de ficheiros para 8 servidores, demora cerca de 4 minutos por servidor (~ 30 minutos no total). Se eu fizer uma pasta de exclusão simples e copiar usando a área de trabalho remota, ela terminará em aproximadamente 5 segundos! A razão pela qual eu acho que a diferença é tão grande é que há muitos arquivos (~ 10 mil), e a maior parte do tempo gasto pelo robocopy é a comparação de arquivos.

Existe uma maneira de acelerar a robocopy, ignorando o recurso de comparação de arquivos?

O que eu quero fazer é espelhar os diretórios (basicamente, deletar os arquivos extras), eu não me importo se eu sobrescrever os arquivos que são os mesmos. O robocopy pode fazer isso ou há uma ferramenta melhor para o trabalho?

    
por Matthew 12.08.2014 / 17:48

3 respostas

2

O /is sinalizador irá sobrescrever arquivos. É 'incluir os mesmos arquivos' e deve cumprir sua tarefa. Eu também usaria /W:1 para definir o tempo de espera de nova tentativa para 1 segundo, em vez do padrão 30. Seu atraso pode estar no bloqueio do seu lado de destino; você verificou isso?

Não conheço uma maneira de copiar sem verificar, mas isso deve levá-lo aonde você precisa estar.

Naturalmente, você também pode usar outra linha de robocopy para excluir todos os arquivos do diretório de destino ANTES de executar o espelho. Isso certamente funcionaria bem.

    
por 12.08.2014 / 17:57
0

Acho que não entendo o que você quer dizer com "simples excluir pasta e copiar usando a área de trabalho remota, que termina em cerca de 5 segundos". Você quer dizer que você realmente exclui uma única pasta do servidor de teste e, em seguida, copia a hierarquia inteira para o servidor da Web sobre o RDP e a coisa toda leva 5 segundos? Você está dizendo para pular todos os arquivos que já encontra no servidor remoto? Isso não atualizaria o conteúdo desses arquivos, caso eles tenham mudado.

De volta ao Robocopy, você pode limitar o conjunto de arquivos com "/ xo" (excluir arquivos antigos). Além disso, considere o uso de multiencadeamento com "/ mt: X", onde "X" é o número de encadeamentos a serem executados em paralelo.

Você pode ver todas as opções do Robocopy aqui .

    
por 12.08.2014 / 18:05
0

Você deve dar uma olhada no DFS - Sistema de arquivos distribuídos (Microsoft) que faz muito muito o que você quer, de forma transparente.

E faz ainda mais

    
por 12.08.2014 / 18:15