Code Wizards realiza pruebas de escala de Nakama de Heroic Labs y logra 2 millones de usuarios conectados simultáneamente
Code Wizards ha anunciado recientemente que ha llevado a cabo, según su conocimiento, la mayor y más exitosa prueba de escala pública de un backend comercialmente disponible en la industria de los videojuegos. Esta noticia se produce poco después del lanzamiento público de los resultados de las pruebas de escala de Nakama en Heroic Cloud. Probaron tres escenarios de carga diferentes y alcanzaron 2,000,000 de usuarios conectados simultáneamente (CCU) sin problemas en cada ocasión. Según Martin Thomas, CTO de Code Wizards Group, podrían haber llegado aún más lejos.
Thomas menciona: «Estamos absolutamente emocionados con los resultados. Alcanzar los 2 millones de CCU sin problemas es un hito enorme, pero lo más emocionante es saber que teníamos la capacidad de ir aún más lejos. Esto no es solo una victoria técnica, es un cambio de juego para toda la comunidad de juegos. Los desarrolladores pueden escalar sus juegos con confianza utilizando Nakama, un producto listo para usar, abriendo nuevas posibilidades para sus experiencias multijugador inmersivas y fluidas».
Code Wizards se dedica a ayudar a las empresas de juegos a construir grandes juegos con una infraestructura sólida en el backend. Se asociaron con Heroic Labs para ayudar a los clientes a migrar lejos de soluciones de backend poco confiables o demasiado costosas, construir experiencias sociales y competitivas en sus juegos e implementar estrategias de operaciones en vivo para hacer crecer sus juegos. Heroic Labs desarrolló Nakama, un servidor de juegos de código abierto para construir juegos multijugador en línea en Unity, Unreal Engine, Godot, motores personalizados en C++, y más, con muchos lanzamientos exitosos de juegos, desde Zynga hasta Paradox Interactive. El servidor es agnóstico en cuanto a dispositivo, plataforma y género de juego, potenciando desde juegos de disparos en primera persona y juegos de estrategia en PC/consola hasta juegos de Match 3 y Fusion en móviles.
«Code Wizards tiene una gran experiencia evaluando juegos AAA con backends internos y externos», menciona Thomas.
Para llevar a cabo estas pruebas, utilizan Artillery en colaboración con Amazon Web Services (AWS), empleando varios servicios como AWS Fargate y Amazon Aurora. Nakama en Heroic Cloud también fue probado de manera similar utilizando AWS ejecutándose en Amazon EC2, Amazon EKS y Amazon RDS, y encaja perfectamente en el modelo de escala de hardware elástico de AWS.
Simulación de uso real
Para garantizar que la plataforma fuera probada minuciosamente, se utilizaron tres escenarios distintos, cada uno con una complejidad creciente para simular finalmente el uso en la vida real bajo carga. El primer escenario fue diseñado para demostrar que la plataforma podía escalar fácilmente hasta el CCU deseado. El segundo envió cargas de varios tamaños en todo el ecosistema, reflejando la interacción del usuario en tiempo real, sin estrés ni tensiones. Y el tercero replicó las interacciones de los usuarios con las características meta del juego dentro de la plataforma. Cada escenario se ejecutó durante cuatro horas y entre cada prueba, la base de datos se restauraba a una versión completamente limpia con datos existentes, asegurando ejecuciones de prueba consistentes y justas.
Un vistazo más detallado a las pruebas y resultados
Escenario 1: Estabilidad básica a escala
Objetivo
Lograr pruebas básicas de resistencia de la plataforma, demostrando que 2M de CCU eran posibles al mismo tiempo que proporcionaba resultados de referencia para comparar con los otros escenarios.
Configuración
– 82 nodos AWS Fargate cada uno con 4 CPUs
– 25,000 clientes en cada nodo de trabajo
– Aumento de 2M de CCU logrado en 50 minutos
– Cada cliente realizó las siguientes acciones comunes:
– Estableció un socket en tiempo real
– Acciones específicas del escenario:
– Realizó acciones de «mantener viva» la conexión de manera estándar utilizando mensajes de ping / pong en el socket
Resultado
Éxito al establecer la referencia para escenarios futuros. Los resultados principales incluyeron:
– 2,050,000 clientes trabajadores conectados con éxito
– 683 nuevas cuentas creadas por segundo, simulando un gran lanzamiento de juego
– Tasa de error del 0% entre los trabajadores y los procesos del servidor, incluyendo ningún error de autenticación y ninguna conexión interrumpida.
CCU durante la duración de la prueba (desde el panel de Grafana)
Escenario 2: Rendimiento en tiempo real
Objetivo
Demostrar que bajo carga variable, el ecosistema de Nakama escalará según sea necesario. Este escenario tomó la configuración de referencia del Escenario 1 y extendió la carga en todo el sistema agregando una carga de mensajería en tiempo real más intensiva. Por cada mensaje enviado por un cliente, muchos clientes recibirían esos mensajes, reflejando la difusión estándar de mensajes en sistemas en tiempo real.
Configuración
– 101 nodos AWS Fargate cada uno con 8 CPUs
– 20,000 clientes en cada nodo de trabajo
– Aumento de 2M de CCU logrado en 50 minutos
– Cada cliente realizó las acciones comunes y luego:
– Se unió a uno de 400,000 canales de chat
– Envió mensajes de chat generados aleatoriamente de 10-100 bytes a un intervalo aleatorio entre 10 y 20 segundos
Resultado
Otra ejecución exitosa, demostrando la capacidad de escalar con carga. Culminó en las siguientes métricas principales:
– 2,020,000 clientes trabajadores conectados con éxito
– Se enviaron 1.93 mil millones de mensajes, con una tasa promedio pico de 44,700 mensajes por segundo
– Se recibieron 11.33 mil millones de mensajes, con una tasa promedio pico de 270,335 mensajes por segundo
Mensajes de chat enviados y recibidos durante la duración de la prueba (desde el panel de Artillery)
Nota
Como se puede ver en el gráfico anterior, un problema de registro de métricas de Artillery (como se ve en GitHub) resultó en la pérdida de un punto de datos cerca del final del aumento, pero no pareció presentar un problema durante el resto del escenario.
Escenario 3: Carga de trabajo combinada
Objetivo
Demostrar que el ecosistema de Nakama funciona a escala bajo cargas de trabajo centradas principalmente en la base de datos. Para lograr esto, cada interacción de un cliente en este escenario realizó una escritura en la base de datos.
Configuración
– 67 nodos AWS Fargate cada uno con 16 CPUs
– 30,000 clientes en cada nodo de trabajo
– Aumento de 2M de CCU logrado en 50 minutos
– Como parte del proceso de autenticación en este escenario, el servidor configuró una nueva billetera e inventario para cada usuario, conteniendo 1,000,000 de monedas y 1,000,000 de artículos
– Cada cliente realizó las acciones comunes y luego:
– Realizó una de dos funciones del servidor en un intervalo aleatorio entre 60-120 segundos. O bien:
– Gastó algunas de las monedas de su billetera
– Otorgó un artículo a su inventario
Resultado
Al alterar las estructuras de carga a un enfoque basado en la base de datos, no hubo diferencia ya que el clúster de Nakama manejó la estructura como se esperaba, con resultados muy alentadores en el percentil 95:
– Una vez completamente escalado, los clientes mantuvieron una carga de trabajo máxima de 22,300 solicitudes por segundo, sin variación significativa
– El 95% de los tiempos de procesamiento de las solicitudes del servidor se mantuvieron por debajo de 26.7ms durante toda la ventana del escenario, sin picos inesperados en ningún momento
Latencia general del Nakama, 95% de los tiempos de procesamiento (desde el panel de Grafana)
Para obtener más detalles sobre la metodología de las pruebas, los resultados y más graficas adicionales, contacte a Heroic Labs a través de [email protected].
Apoyando grandes juegos de todos los tamaños
Heroic Cloud es utilizado por miles de estudios en todo el mundo y soporta más de 350 millones de usuarios activos mensuales (MAU) en toda su gama de juegos. Para obtener más información sobre los backends de juegos que superan la prueba y impulsan algunos de los mejores juegos disponibles, consulte los estudios de caso de Heroic Labs o visite la sección de Heroic Labs en el sitio web de Code Wizards.
Matt Simpkin es CMO en Code Wizards.
Los artículos patrocinados son contenido producido por una empresa que está pagando por la publicación o tiene una relación comercial con VentureBeat, y siempre están claramente marcados. Para obtener más información, contáctese con [email protected].
GIPHY App Key not set. Please check settings