Tope de la cola de inicio de sesión y periodo de gracia para reconectar demasiado corto Login queue cap / no reconnect grace
ID de la causa in-login-queue · Responsable principal Desarrollo de servidor (Equipo de desarrollo) · También Desarrollo de cliente (Equipo de desarrollo), Infraestructura de servidores (Equipo de infraestructura)
Cuando la gente entra en masa justo después de un lanzamiento o un mantenimiento, la cola de inicio de sesión llega a su tope y rechaza nuevas entradas, y quien estaba esperando pierde su lugar si se desconecta un momento y vuelve al final de la cola.
Por qué Hay más gente intentando entrar de la que el servidor de login puede aceptar a la vez, así que se usa una cola, y si se alarga demasiado se rechazan nuevas entradas para proteger el servidor → Efecto Cuanto más larga es la cola, más dura la espera, y mientras tanto basta un corte breve del Wi-Fi o de la red móvil para perder el lugar → En pantalla El juego no conecta o se queda en carga infinita, se cierra con un error durante la espera y hay que volver a esperar desde el final
Al conectar o tras un mantenimiento, Horas pico de la noche
Responsable
Responsable principal Desarrollo de servidor (Equipo de desarrollo) · También Desarrollo de cliente (Equipo de desarrollo), Infraestructura de servidores (Equipo de infraestructura)
Tareas (Equipo de desarrollo)
Servidor: ajustar el tope de la cola a lo que el servidor de login puede procesar de verdad, guardar durante un tiempo el lugar de quien se desconecta mientras espera (periodo de gracia para reconectar), mostrar la posición y el tiempo de espera estimado, registrar como métricas la longitud de la cola, los rechazos y las desconexiones durante la espera. Cliente: si se corta durante la espera, reconectar automáticamente al mismo lugar sin cerrar el juego, y espaciar los reintentos con backoff exponencial y jitter.
Tareas (Equipo de infraestructura)
Servidores/SO: medir antes del lanzamiento, con pruebas de carga, el límite de procesamiento de los servidores de login y de lobby, tener servidores de reserva listos para añadirlos en el lanzamiento, ver las métricas de la cola en el mismo gráfico que los intentos de conexión.
Cifras de referencia
En el lanzamiento de una expansión de FINAL FANTASY XIV en 2021, se rechazaban nuevas entradas cuando la cola de un centro de datos lógico superaba las 17,000 personas (Error 2002). Si la conexión se cortaba durante la espera, el servidor de lobby esperaba entre unas decenas de segundos y 1 minuto, y si el jugador volvía a conectarse en ese tiempo, seguía desde su posición en la cola.
En el gráfico
Topa con el límite · Longitud de la cola de inicio de sesión, rechazos por tope alcanzado, desconexiones durante la espera
Dónde mirar
Poner en el mismo gráfico que los intentos de conexión la longitud de la cola, el tiempo medio de espera, los rechazos por tope alcanzado y las desconexiones durante la espera que registran los servidores de login y de lobby
Se confirma si
Justo después del lanzamiento o del mantenimiento, mientras la longitud de la cola se queda plana en el tope, suben los rechazos, y las desconexiones durante la espera se concentran en jugadores con Wi-Fi o red móvil
Se descarta si
Si la cola es corta y aun así el login va lento, apunta a la BD (db-login-storm) o a la cola de conexiones pendientes del sistema operativo (so-backlog)
Se verifica con
Requiere logs y métricas del servidor o el cliente del juego
Para saber más
Cuando la avalancha de inicios de sesión vuelve lenta la BD, el caso se trata en “Avalancha de inicios de sesión y consultas N+1”, y cuando se desborda la cola de conexiones pendientes del sistema operativo, en “Desbordamiento de la cola de conexiones pendientes (backlog)”. Esta entrada trata del diseño de la cola de inicio de sesión que el juego pone a propósito. El tope de la cola es una protección del servidor de login y no se puede quitar: rechazar pronto las solicitudes que sobran es lo que permite seguir procesando las que sí se pueden atender. Lo importante es reducir el perjuicio que los rechazos y las desconexiones causan al jugador, y cuanto más larga es la cola, más se concentran los errores en jugadores con conexiones inestables, como el Wi-Fi o la red móvil.
Response to Congestion (as of Dec. 11)Square Enix Si la cola de un centro de datos lógico supera las 17,000 personas, se rechazan nuevas entradas para que el servidor de login no se caiga (Error 2002); si la conexión se corta durante la espera, el servidor de lobby espera entre unas decenas de segundos y 1 minuto: si el jugador vuelve en ese tiempo sigue desde su posición, y si no, vuelve al final
Using load shedding to avoid overloadAmazon Builders' Library Limitación de carga (load shedding): rechazar pronto las solicitudes que sobran para seguir procesando las que se pueden atender
Ver también
Misma capa: L13 Arquitectura y operación de servidores