Ha habido un problema al cargar los comentarios.

Como crear y leer repotes de Spark (timings)

Portal de asistencia  »  Minecraft  »  Artículo en vista

  Imprimir

Cómo detectar lag en tu servidor Minecraft usando Spark

Si tu servidor tiene:

  • TPS bajos
  • Caídas de rendimiento
  • Plugins lentos
  • Entidades acumuladas
  • Mundo cargando lento
  • “Server is overloaded”
  • Retrasos al romper bloques o abrir cofres

Entonces necesitas analizar el rendimiento del servidor.

 

Aunque antiguamente se utilizaba Timings, hoy en día la mejor opción es Spark, una herramienta mucho más moderna, precisa y fácil de leer.


¿Qué es Spark?

Spark es una herramienta de diagnóstico que analiza qué está consumiendo recursos en tu servidor.

 

Puede detectar:

  • Plugins pesados
  • Mobs acumulados
  • Granjas excesivas
  • Chunks problemáticos
  • Dimensiones sobrecargadas
  • Problemas de CPU
  • Tareas lentas del servidor

Esto ayuda muchísimo a encontrar la causa real del lag en lugar de simplemente “adivinar”.


Cómo generar un reporte de Spark

Paso 1 — Instalar Spark

Spark viene integrado en versiones modernas de Paper.

 

Si utilizas:

  • Paper 1.21+
  • Pufferfish
  • Purpur

Probablemente ya lo tienes disponible.

 

Si utilizas cualquier otro JAR (Fabric, Forge, Sponge, etc.), tendrás que descargar Spark e instalarlo como cualquier otro plugin/mod; para eso, dirígete a https://spark.lucko.me/ y descarga la versión para tu JAR.

 

Paso 2 — Ejecuta el profiler

Dentro del juego o desde la consola del servidor, ejecuta:

 
spark profiler start
 

Esto comenzará a analizar el rendimiento del servidor en tiempo real.

 


Paso 3 — Juega normalmente unos minutos

Ahora simplemente:

  • Muévete por el mundo
  • Deja jugadores conectados.
  • Activa granjas
  • Genera mobs
  • Haz actividades normales.
  • Juega como normalmente lo harías.

Spark correrá de fondo; su uso no impactará en el rendimiento del servidor, pues solo monitorea.

 

⏱️ Recomendamos esperar entre 10 y 20 minutos para obtener resultados precisos.

 

Mientras más actividad haya, más útil será el reporte.


Paso 4 — Detener el análisis

Cuando termine el tiempo de prueba, ejecuta:

 
spark profiler stop
 

Spark generará automáticamente un enlace parecido a este:

Abre ese enlace en tu navegador.

 


Cómo leer un reporte de Spark

Al abrir el reporte verás muchísima información, pero no te preocupes: aquí está lo importante para usuarios nuevos.

 

7529a861f0b7f70135ef8b256b3fc838342e20a75758917900b3184581962a677e52b18c76eb414b?t=b62122281ac5f43563bd86db8c74146f

 


1. Métricas Básicas

 

e78b7a6761964af335f82b429148e6f32fc81686dd0846dd057923e3f76223c081185acae48021f8?t=ba26b14dd61ea46c412c278f2a1a7c90

 

TPS

El TPS indica qué tan fluido funciona el servidor.

Minecraft funciona idealmente a:

 
20 TPS
 

Interpretación rápida

  • 20 TPS → Perfecto
  • 18-19 TPS → Ligero lag
  • 15-17 TPS → Problemas visibles
  • Menos de 15 TPS → Lag severo

Si el TPS baja constantemente, algo está sobrecargando el servidor.

 

MSPT

Los MSPT son los milisegundos por tick, que indican cuántos MS le toma al servidor procesar cada tick; mientras más alta sea la cantidad de segundos, más lag verás en el servidor.

 

CPU

El uso de CPU toma en cuenta que el 100% de uso significa que el servidor está usando 1 núcleo; no que está literalmente usando todo el procesador.

 

Minecraft es un juego que aprovecha el procesador para hacer diferentes tareas; si muchas tareas se ejecutan al mismo tiempo, el uso del CPU aumentará, causando lag en el servidor. Las tareas que consumen CPU son:

 

  • Entidades
  • Romper bloques
  • Cargar chunks (esta en particular consume muchos recursos).

Procura mantener un balance entre entidades, precarga tus mundos y limita el uso de granjas.

 

Memory (RAM)

En este apartado se mide cuánta RAM está usando el servidor y el límite que tiene el contenedor. La memoria RAM almacena información temporal y caché; se limpia en cada reinicio de servidor. Su uso aumenta con cada mod, plugin y jugador.

 


2. Analisis Completo

Cuando abres un reporte de Spark, probablemente lo primero que notarás son muchísimos porcentajes en rojo, amarillo y naranja. A simple vista puede parecer que “todo está mal”, pero en realidad los porcentajes en Spark pueden ser engañosos si no sabes interpretarlos correctamente.

 

Lo más importante NO son los colores ni el porcentaje grande: lo importante son las funciones y qué está ejecutando realmente el servidor.

 

d95a0971b994227cebe83983fd8cfec35489bbee9caf65b5b831b3ff7164ae07bb5acb2767dfe481?t=78ff5261568ea178918404930c2f6bba

 


Los porcentajes NO siempre indican lag

Por ejemplo, en la captura de arriba:

  • MinecraftServer.runServer() aparece usando 100%
  • Thread.run() también muestra 100%
  • parkNanos() aparece con 99.98%

Eso NO significa que esas funciones estén causando lag.

En realidad, muchas veces simplemente indican:

  • El hilo principal del servidor está activo.
  • El servidor está esperando el siguiente tick.
  • La CPU está “idle” (sin carga importante).

 

El caso de parkNanos() y Unsafe.park()

Si ves algo como:

 
LockSupport.parkNanos()
Unsafe.park()
 

Y tienen porcentajes enormes (90%-100%), eso normalmente es BUENA señal.

 

Significa que:

 

  • El servidor tiene tiempo libre.
  • El CPU no está saturado.
  • El servidor puede mantener 20 TPS.
  • No hay carga pesada constante.

Básicamente, el servidor está “descansando” mientras espera el siguiente tick.

 

Entonces… ¿Qué SÍ debo buscar?

Debes enfocarte en:

 

1. Funciones repetidas

Si una misma función aparece constantemente en muchas ramas del reporte, probablemente ahí está el problema.

Por ejemplo:

 
entityTick()
hopperTick()
pathfinding()
 

o nombres de plugins específicos.


2. Nombres de plugins

Busca plugins apareciendo dentro del árbol.

Por ejemplo:

 
com.pluginname...
me.algunplugin...
org.bukkit.plugin...
 

Si un plugin ocupa mucho tiempo constantemente, podría estar causando lag.


3. Funciones relacionadas con entidades

Algunas muy comunes:

 
tickEntities()
mobTick()
entityActivationCheck()
 

Esto normalmente indica:

  • Demasiados mobs
  • villagers
  • Granjas
  • animales acumulados

4. Redstone y hoppers

Funciones como:

 
hopperTick()
tileEntityTick()
 

Pueden indicar:

  • Demasiados hoppers
  • Clocks rápidos
  • Granjas automáticas pesadas

5. Chunk generation

Funciones relacionadas con:

 
chunkGeneration
distanceManager
worldgen
 

Pueden significar:

  • Jugadores explorando demasiado rápido.
  • Generación excesiva de mundo
  • chunks nuevos saturando CPU

Cómo interpretar correctamente los porcentajes

Los porcentajes en Spark son relativos al tiempo total analizado.

 

Eso significa que una función puede mostrar 90%, pero realmente consumir casi nada útil, simplemente porque el servidor estaba esperando.

 

Por eso: ⚠️ Nunca te fijes SOLO en el número grande.

 


Consejo importante para principiantes

Muchos usuarios abren Spark y ven:

 
100% CPU USAGE
 

y piensan que el servidor está muriendo.

Pero en realidad, el árbol de funciones es muchísimo más importante que el porcentaje mostrado.

Spark es una herramienta avanzada, y aprender a leer funciones correctamente es la clave para diagnosticar lag real.


Resumen rápido

  • Ignora porcentajes enormes de parkNanos()
  • Busca plugins o funciones repetidas.
  • Revisa entidades, chunks y scheduler.
  • El árbol de funciones importa más que el color rojo.
  • Mucho “idle time” normalmente es algo bueno

¿Todavía no sabes qué significa tu reporte?

No pasa nada. Spark puede ser confuso al principio.

 

Si necesitas ayuda:

  1. Genera tu reporte Spark.
  2. Copia el enlace.
  3. Abre un ticket y compártelo con nosotros.

Así podremos ayudarte a identificar exactamente qué está causando el lag en tu servidor.

 

 


Compartir a través de
¿Has encontrado útil este artículo?  

Artículos relacionados

© PloxHost