Problemas Equilibrio de carga de la aplicación web .Net mediante State Server

Problemas Equilibrio de carga de la aplicación web .Net mediante State Server

Tenemos varios servidores web detrás de un equilibrador de carga Netscaler. Cada uno de los servidores (Win2008) aloja una aplicación ASP.Net (que usa iis 6.1) que está configurada para usar un servidor central que ejecuta el servicio .Net StateServer para la administración del estado de la sesión.

Cuando configuramos el equilibrador de carga para utilizar el enrutamiento "round robin" o "menos ocupado", la aplicación web falla regularmente con un error que indica que faltaba algo que esperaba que estuviera en el estado de sesión. Sin embargo, no lo hace TODO el tiempo, sólo en ciertos pasos y luego en aproximadamente el 75% de los intentos.

Cuando configuramos el equilibrador de carga para la persistencia del servidor (para que el usuario "se quede" en un servidor), el problema no ocurre. (Pero este no es nuestro modo de ejecución deseado)

Cosas que ya hemos comprobado/hecho:

  • Reanudartodas las cosas
  • Las claves de las máquinas son las mismas en todos los servidores.
  • No hay problemas de conectividad entre los servidores web y el servidor estatal.
  • IIS es que los nombres, rutas e identificaciones de los sitios son los mismos en todos los servidores web.
  • No se registra ningún error en los registros de la aplicación.

¿Alguien tiene alguna sugerencia sobre otras cosas para verificar/posibles causas?

NÓTESE BIEN. Tenemos exactamente la misma configuración en otro entorno: el mismo tipo de balanceadores de carga, la misma aplicación web, la misma configuración, la misma configuración del servidor... y funciona bien. La única diferencia es una versión diferente de VMWare Tools, pero ¿no ve que esta sea la causa?

Respuesta1

Meses después, descubrimos la causa. Algunos (pero no todos) los servidores se habían actualizado a una versión más reciente de .Net Framework.

Microsoft no admite diferentes servidores que utilicen el mismo StateServercon diferentes versiones del framework, por lo que cuando los clientes saltaban entre un servidor con 4.5.1 y uno que tenía una versión anterior, básicamente perdían la sesión y la aplicación fallaba.

Si encuentras este problema te sugierocomprobar qué Framework está instaladoen cada servidor: todos deben ser iguales para que funcionen con el mismo StateServer.

información relacionada