2012-05-31 63 views
9

Mi empresa está utilizando actualmente TortoiseSVN 1.6.16 de 32 bits en Windows XP para conectarse a través de HTTPS a un servidor VisualSVN 2.1.19 que se ejecuta en un servidor Windows 2003 que reside en la misma red (sin proxy) Usamos un certificado autofirmado y autenticación Kerberos usando credenciales de Windows (supongo que esta es una característica específica de VisualSVN). En esta configuración, todo funciona a la perfección.Subversion insoportablemente lenta en Windows 7

Cuando mi empresa decidió pasar a Windows 7  , tratamos TortoiseSVN 1.7.6 de 64 bits en Windows   7 de 64 bits que se tradujo en el siguiente problema:

  • Cualquier operación que implica el servidor (repo-browser, checkout, update, checkin, ...) es insoportablemente lento, por ejemplo
    • abrir el Navegador de repositorios (10 proyectos): 15 min
    • actualización en una copia nueva de 50 archivos: 1 min
    • registro de un solo archivo vacío: 30 seg
  • tortuga muestra alternativamente velocidades de transmisión normales y 0 byte/s. Muchos archivos pequeños parecen ser más lentos que algunos grandes.
  • Los resultados de conexión lenta en varios fallos al utilizar el neón como http-lib (servidumbre sigue siendo lento, pero la operación se realiza correctamente y sin errores)
  • EasySVN, SmartSVN y el cliente de línea de comandos SVN que viene con TortoiseSVN muestran el mismo comportamiento . Lo mismo con TortoiseSVN 1.6.16 de 64 bits.
  • Cambiar el protocolo de servidor de HTTP (sin SSL) no mejora la situación

Por otro lado

  • TortoiseSVN 1.7.6 de 32 bits en Windows XP funciona bien con nuestro servidor
  • acceso a través del navegador/WebDAV funciona bien incluso bajo Windows 7
  • registros lado del servidor no muestran errores o incluso advertencias

Encontré varias publicaciones que también se quejaban de un comportamiento lento en Windows   7, pero no se ajustaban a mi factura porque eran operaciones locales o estaban restringidas a TortoiseSVN.

Como no hay indicación de que exista un problema general con Subversion en Windows   7, sospecho que podrían ser los parámetros de red o las versiones de protocolo de nuestro sistema operativo. ¿Hay algún parámetro que influya en el rendimiento de Subversion?

Debo admitir que no estoy familiarizado con la manera en que exactamente Subversion (o más bien neon/serf) confía en el sistema operativo y en qué partes. Cualquier información sobre eso sería muy apreciada.

¿Hay algún parámetro en el archivo 'servidores' de subversión que deba probar? ¿Cómo considerarías mis posibilidades de que Wireshark'ing la conexión me ayude?

Se agradecen las experiencias similares, opiniones, sugerencias, ayuda y pajas.

Wireshark muestra lagunas esporádicas de ca. 5 segundos en la secuencia TCP aparentemente causada por el Servidor VisualSVN.

  • https: el servidor reconoce el cliente hola espera a 5 segundos antes de enviar su saludo del servidor
  • https: el servidor reconoce la clave de cliente y que tarda 5 segundos antes de proporcionar sus datos de apretón de manos cifrados
  • https : incluso fuera del handshake, el servidor a veces envía un ACK (en el nivel TCP) y luego espera 5 segundos antes de devolver algo al cliente (los datos se cifran, por lo que es difícil saber si el corte ocurre en algún punto de interés)
  • http: en ambas transmisiones del lado del servidor durante la autenticación NTLM
  • http: Antes de servidor de envío de un indicador FIN
+0

llegaste a algún lado con esto? –

+0

Gracias por recordarme. Ver mi propia respuesta sobre eso. – wolfpile

+0

Resolución de nombre de dominio fue mi problema, agregó una entrada local 'hosts' y cobró vida. – Lankymart

Respuesta

0

El problema nunca se solucionó correctamente. Lo más probable es que la ruta de la red interna de la compañía entre el cliente y el servidor haya tenido alguna falla. El asunto se volvió obsoleto cuando movimos el servidor SVN a otra máquina. La misma configuración de servidor y clientes funciona bien ahora, incluso con Windows 7.

7

Un típico error con Windows 7 en contra de un servidor antiguo es una red IPv6.

Si su máquina no tiene un servidor SVN escuchando en una dirección IPv6, Windows 7 aún puede intentar hacer una conexión TCP6 primero (puede verla en Process Explorer si mira los sockets abiertos del proceso TortoiseSVN mientras intenta operación), esto tiene un tiempo de espera de unos pocos segundos y luego vuelve a intentar con IPv4.

Las soluciones simples son actualizar su servidor a uno compatible con IPv6 o deshabilitar IPv6 para los clientes de Windows   7.

4

Otra cosa que podría verificar (la respuesta anterior no funcionó para nosotros) es la configuración de Internet Explorer especialmente si tiene IE9. Descubrimos que deshabilitando la opción Automatically detect settings en el Internet Options -> Connection tab -> LAN settings, SVN comenzó a funcionar normalmente de nuevo.

+3

Actualicé su respuesta con nombres de opciones en inglés; Espero que no te moleste. – harpun

0

Tenía el mismo síntoma de una búsqueda de repositorio muy lento, actualizaciones lentas, ralentizaba todo.

Mi servidor SVN tiene dos tarjetas Ethernet, por lo que tiene dos direcciones IP Ethernet. El servidor SVN solo estaba escuchando en una de las direcciones IP. Por lo tanto, una resolución de nombre a través de WINS o NetBIOS podría resolver la dirección IP 'incorrecta'.

TortoiseSVN intentaría de nuevo, con el tiempo la resolución del nombre encontraría la dirección IP 'correcta', y las cosas funcionarían.