Diferença de desempenho entre check-outs e exportações da subversão?

3

Existe alguma diferença de desempenho entre as verificações e exportações de subversão ao executar seu aplicativo da Web?

Já implementamos isso em nosso processo de implantação, sem medir as diferenças (o que é ruim e ruim.).

Nossas intenções foram:
a) despejo de sobrecarga (pastas .svn e seu conteúdo) e
b) melhorando qualquer diretório percorrendo coisas

Você tem alguma experiência ou medidas para isso?

    
por Karsten 24.05.2009 / 02:20

3 respostas

3

Seria muito dependente do aplicativo. Com os aplicativos que eu implantei, isso é irrelevante, já que não há absolutamente nenhum diretório atravessando o diretório de aplicativos que está sendo executado nos aplicativos. Algumas estruturas, particularmente o Rails, farão o carregamento automático dos arquivos dentro do aplicativo e farão a travessia do diretório para descobrir esses arquivos, mas casos típicos de Dir['**/**'] ignoram quaisquer diretórios "ocultos" como .svn e .git.

Se, por algum motivo, o seu aplicativo ou estrutura precisar percorrer todos os arquivos na pasta do aplicativo e não ignorar os diretórios ocultos, pode haver algum efeito insignificante, mas seria tão específico e específico para a aplicação que você Vou lutar para buscar muitos conselhos a partir de uma resposta generalizada.

Tudo o que foi dito, se você não tem motivos para enviar alterações da implantação para o servidor SVN e está usando um mecanismo de implantação de estilo de rolagem de vários diretórios (ou seja, você exporta / faz check-out para um novo diretório toda vez atualizar um link simbólico ou similar) você também pode usar a exportação. Se você apenas svn update dentro de um diretório de implantação a cada vez, você pode querer ficar com ele por causa da eficiência ..

    
por 24.05.2009 / 04:10
2

Há menos IO para o cliente Subversion gravar uma exportação do que uma finalização, já que o checkout faz uma quantidade significativa de registros de log e bloqueio.

Dado que, no entanto, acho que ter um checkout em vez de uma exportação em um servidor web é muito melhor porque você pode simplesmente 'svn update' para a última versão ou rodar 'svn update -r PREV' para voltar um mau empurrão. Então eu acho que a conveniência disso supera qualquer vantagem de menos IO. Isso pressupõe que você não está exportando e, em seguida, enviando por FTP a exportação para o servidor da Web.

Como você está implantando no seu servidor web?

    
por 29.05.2009 / 23:07
0

Uma coisa que realmente faz a diferença com o SVN (especialmente check-in) é a verificação de vírus. Se você pode desativar o AV para os diretórios .svn, verá uma diferença.

    
por 23.06.2009 / 20:07