Subversion svn + ssh speedup necessário - podemos reduzir o tempo limite de leitura por conexão?

1

Eu tenho uma série de scripts que estão fazendo muitas operações de svn e demorando muito e não temos certeza do motivo. Por exemplo

svn switch svn+ssh://srv/repo/...  ...

Isso consistentemente leva cerca de 1,1 segundos. Estamos usando o subversion 1.6.6 no RHEL 5.4.

O tempo para um ssh srv exit é de cerca de 80 ms (já trabalhamos para diminuir isso)! Então o tempo é não sendo gasto em ssh.

Executando strace no cliente e no servidor, vejo isso ( sv é svnserve no servidor, cl é cliente):

sv 08:29:43.470772 close(4)        = 0
sv 08:29:43.470839 unlink("/tmp/tempfile.tmp") = 0
sv 08:29:43.470937 write(1, "( success ( ) ) ", 16) = 16
sv 08:29:43.471062 read(0, "", 4096)       = 0
cl 08:29:44.019452 unlink("/export/.../.svn/lock") = 0

Então, parece que meio segundo está preso esperando que essa leitura final seja concluída. Olhando para fontes, eu estou supondo que este é o tempo limite de leitura na biblioteca apr. Eu não vejo onde, apesar de subversão chama a biblioteca com um tempo limite diferente de zero (ignorando para HTML).

Existe uma maneira de reduzir esse tempo limite ou melhorar significativamente o tempo de resposta do comando?

Poderíamos atualizar a versão do servidor se soubéssemos que isso ajudaria, mas não poderíamos atualizar a versão do cliente (pois há cerca de 500 sistemas clientes em uso). Poderíamos recompilar o servidor ou cliente, se necessário.

Obrigado

    
por J Howe 20.06.2014 / 16:28

0 respostas

Tags