Permítanme introducir esto diciendo que no soy administrador de sistemas, soy programador.
Recientemente, nuestros administradores de sistemas instalaron equilibradores de carga F5. Desde entonces, he notado que cada vez que una solicitud agota el tiempo de espera y termina arrojando un 500, el equilibrador de carga envía la misma solicitud a nuestro otro servidor. IIS envía la respuesta de tiempo de espera aunque el script todavía se está ejecutando. Incluso las solicitudes POST se duplican si un script se ejecuta durante más de 5 minutos. Esto me parece un problema potencial, especialmente con los sitios de comercio electrónico en los que está involucrada la facturación del cliente.
Esto es solo un problema con algunos de nuestros scripts de ejecución más larga (pero es un problema grave). Me han dicho que este es un comportamiento esperado, y tendremos que cambiar nuestro código para cumplir. Entonces mis preguntas son:
- ¿Es este comportamiento esperado?
- ¿Cuál es la ventaja de que el equilibrador de carga replica la solicitud después de un tiempo de espera que no sea que el usuario no tenga que actualizar?
- Con esta arquitectura, si se ejecuta un script que bloquea el servidor o acapara los recursos, terminará ejecutándose en ambos servidores. ¿Es eso realmente óptimo?