EndyStudio

Analizador de perfiles de spark

Pega el enlace de /spark profiler y obtén los TPS y los tiempos de tick de tu servidor, una lista de lo que conviene cambiar en Java, en los archivos de configuración y en los plugins, y el tiempo que se lleva cada plugin de cada tick.

  • Gratis
  • Sin cuenta
  • En tu navegador

Perfil de spark

Cómo conseguir el enlace

  1. Ejecuta /spark profiler start en el servidor. spark viene con Paper y Purpur desde la 1.21; en otros servidores, instala antes el plugin o mod de spark.
  2. Déjalo grabando al menos 5 minutos, con jugadores conectados.
  3. Ejecuta /spark profiler stop y pega aquí el enlace que te da.

El perfil se descarga directamente de spark.lucko.me a tu navegador. No pasa por nuestro servidor.

Qué revisa el analizador

spark apunta muchas veces por segundo qué estaba haciendo el servidor, y lo sube junto con sus números y sus archivos de configuración. El analizador lo lee todo y repasa cuatro cosas:

  • Cómo va el servidor. TPS y MSPT de los últimos minutos, CPU, memoria, jugadores y entidades cargadas, y una barra por minuto para ver cuándo se ralentizó.
  • Java y la máquina. El tamaño del heap, el recolector de basura y si usa las flags de Aikar, las recolecciones completas, la memoria que queda tras recolectar, los hilos de CPU y si a la máquina le falta memoria o está ocupada con otras cosas.
  • Configuración. view-distance y simulation-distance en server.properties, límites de aparición en bukkit.yml, rangos de activación de entidades en spigot.yml, y las opciones de Paper y Purpur para explosiones, redstone, colisiones, spawners, tolvas, soportes de armadura y aldeanos. Cada recomendación dice qué archivo y qué clave cambiar.
  • Plugins. El tiempo de cada plugin en el hilo principal, plugins que suelen dar problemas (ClearLag, PlugMan, los que apilan mobs) y el chunk con más entidades, con un comando /tp para ir hasta él.

Las recomendaciones van ordenadas de lo que hay que arreglar antes a los consejos opcionales. Mientras el servidor va sobrado, los cambios de configuración salen como consejos: liberan un tiempo que todavía no te hace falta.

Cómo hacer un perfil de spark

  1. Ejecuta /spark profiler start en la consola o en el juego. En Paper y Purpur 1.21 o posterior, spark ya viene incluido.
  2. Déjalo grabando al menos 5 minutos a una hora normal, con jugadores conectados. Un perfil de un servidor vacío solo muestra un servidor en reposo.
  3. Ejecuta /spark profiler stop. spark sube el perfil y escribe un enlace https://spark.lucko.me/….
  4. Pega el enlace arriba. El análisis empieza solo.

Si el lag llega a picos y no todo el rato, graba solo los ticks lentos: /spark profiler start --only-ticks-over 100 se queda con los ticks de más de 100 ms y descarta el resto.

TPS y MSPT

El servidor hace avanzar el mundo en ticks, 20 por segundo, así que cada tick tiene 50 ms. El MSPT (milisegundos por tick) es lo que tardó de verdad cada tick. Mientras se mantiene por debajo de 50, el servidor sostiene 20 TPS y le sobra tiempo. Cuando los ticks tardan más, los TPS bajan, y mobs, redstone y cultivos van más lentos para todos.

MSPT Qué significa
Menos de 30 ms Margen de sobra para los momentos de carga
30 – 45 ms Bien, pero con poco margen
45 – 50 ms Al límite: cualquier pico se nota
Más de 50 ms El servidor se retrasa y bajan los TPS

El analizador mira el percentil 95, el tiempo por debajo del que se quedó el 95 % de los ticks. Una media esconde los ticks lentos; el percentil 95, no.

Cómo leer el tiempo por plugin

La lista de plugins suma el tiempo que pasa el hilo principal dentro del código de cada plugin y lo divide entre los ticks grabados, así que se lee en ms por tick, frente a los 50 ms que tiene cada tick. Un plugin que gasta 5 ms por tick se come él solo una décima parte. El tiempo que un plugin pasa llamando a otro cuenta para el llamado, igual que en el visor de spark.

Lo que queda tras los plugins es el propio juego: entidades, chunks, redstone y jugadores. A esa parte apuntan las recomendaciones de configuración. Para ver qué tarea concreta de un plugin se lleva el tiempo, abre el perfil en el visor de spark y cambia a la vista Sources.

Los cambios que más suelen ayudar

  • Bajar simulation-distance a 5 o 6, y view-distance a unos 8. La distancia de simulación decide cuánto mundo funciona alrededor de cada jugador, así que pesa en todos los ticks.
  • Bajar los rangos de activación de spigot.yml, para que los mobs lejos de los jugadores se procesen menos.
  • Usar las opciones de Paper: optimize-explosions, la redstone ALTERNATE_CURRENT, max-entity-collisions a 2 y los spawners a una frecuencia de 2.
  • Arrancar Java con las flags de Aikar y un heap acorde al servidor. La calculadora de RAM te escribe las dos cosas.
  • Pregenerar el mundo con un plugin como Chunky, para que no se generen chunks nuevos mientras la gente juega.

Cambia una cosa cada vez y graba un perfil nuevo después. Así sabes qué ha ayudado y qué deshacer si una granja deja de funcionar.

Tu perfil y tu privacidad

El analizador funciona en tu navegador: el perfil se descarga directamente de spark.lucko.me y nunca pasa por EndyStudio. Ten en cuenta que un perfil de spark incluye los archivos de configuración del servidor (spark oculta contraseñas, IPs y claves parecidas), y que cualquiera con el enlace puede abrirlo.

Preguntas frecuentes

¿Cómo hago un perfil de spark?

Ejecuta /spark profiler start en el servidor, déjalo grabando al menos 5 minutos con jugadores conectados y ejecuta /spark profiler stop. spark sube el resultado y te da un enlace de spark.lucko.me. Pega ese enlace en el analizador.

¿spark viene con Paper?

Sí. Paper, y forks como Purpur, incluyen spark desde Minecraft 1.21, así que el comando /spark funciona sin instalar nada. En Spigot, Fabric, Forge, NeoForge, Velocity o BungeeCord, instala antes el plugin o mod de spark.

¿Qué MSPT es bueno?

Cada tick tiene 50 ms. Por debajo de 30 ms hay margen de sobra, entre 30 y 45 ms va bien pero justo, y cuando los ticks pasan de 50 ms a menudo el servidor ya no puede mantener 20 TPS y los jugadores notan lag.

¿Se envía mi perfil a EndyStudio?

No. Tu navegador descarga el perfil directamente de spark.lucko.me y lo analiza en tu ordenador. No pasa por nuestro servidor y no se guarda nada. Ten en cuenta que cualquiera con el enlace de spark puede abrirlo, incluidos los archivos de configuración del servidor.

¿Por qué no sale el desglose por plugin?

El desglose sale del árbol de llamadas de spark, que solo tienen los perfiles de /spark profiler. Un informe de salud (/spark health) o un resumen del heap (/spark heapsummary) no lo incluyen.

El analizador dice que todo va bien, pero los jugadores siguen con lag. ¿Por qué?

El lag que notan los jugadores no siempre es del servidor. Si los TPS se mantienen en 20 y los ticks son cortos, mira la conexión (ping, pérdida de paquetes, el proxy) o los FPS del propio cliente. Si el lag llega a ráfagas, graba solo los ticks lentos con /spark profiler start --only-ticks-over 100.