git: el extremo remoto colgó inesperadamente: ¿demasiados usuarios simultáneos?

Tenemos un server git auto-alojado (Gitolite) en una count VPS (CPU: 2.68GHz RAM: 1824MB). Este mismo VPS también se utiliza para publicar nuestras aplicaciones web de subdesarrollo para demostraciones de clientes. (Muy poco tráfico). por lo que el uso principal del server es solo como un server de Git.

Un equipo de 30-40 personas accede a este server git para varios proyectos. Nuestro problema es que durante el día cuando 6-7 personas intentan acceder al server (a veces el mismo repository) recibimos un post de error frecuente:

ssh: connect to host xxx.xxx.xx.xx puerto 22: número de file incorrecto fatal: el extremo remoto colgó inesperadamente

Después de intentar durante 10-15 minutos generalmente tiene éxito.

Durante las primeras horas de la mañana y las últimas horas de la noche, cuando solo hay de 1 a 2 personas, los commands de git funcionan con una tasa de éxito del 100%. También me gustaría señalar que si tengo acceso al otro file alojado en el server a través de HTTP, funciona bien.

Encontré un par de preguntas sobre StackOverflow y en otros sitios al respecto. Pero la mayoría de las personas apuntan hacia la configuration de key SSH o conflictos entre Msysgit y Cygns SSH.

Sin embargo, no creo que este sea el problema en nuestro caso, ya que obtenemos este comportamiento en Windows (solo con msysgit) y Mac Machines. Además, si se trataba de un problema de configuration de SSH, no debería funcionar en absoluto. Pero en nuestro caso, funciona después de 10-15 minutos.

Creo que en nuestro caso podrían ser demasiadas conexiones simultáneas al mismo server (o el mismo repos) o algo así. ¿Existe una configuration o un file conf que se debe modificar para resolver este problema?

Por favor, ayúdame a resolver este problema o apúntame en la dirección correcta.

Gracias por adelantado.

Pritam.

Esta pregunta está relacionada con esta . No estoy seguro si esto alguna vez se movió a ServerFault, o si fue resuelto, no hay comentarios en ese sentido, así que agregaré esta respuesta.

Su problema está limitado al acceso al repository de git a través de SSH. Esto se debe a que, de forma pnetworkingeterminada, SSHD no admite más de 10 conexiones simultáneas.

De la página man sshd_config:

MaxSessions Specifies the maximum number of open sessions permitted per net‐ work connection. The default is 10. MaxStartups Specifies the maximum number of concurrent unauthenticated con‐ nections to the SSH daemon. Additional connections will be dropped until authentication succeeds or the LoginGraceTime expires for a connection. The default is 10. Alternatively, random early drop can be enabled by specifying the three colon separated values “start:rate:full” (eg "10:30:60"). sshd(8) will refuse connection attempts with a probability of “rate/100” (30%) if there are currently “start” (10) unauthenti‐ cated connections. The probability increases linearly and all connection attempts are refused if the number of unauthenticated connections reaches “full” (60). 

Si no los ha cambiado, su server no manejará más de 10 conexiones simultáneas. Acceder a sus repositorys a través de SSH no toma mucho time; por lo tanto, el rebash continuo se conectará eventualmente a medida que otras personas completen git push es y git pull s etc.