Rapport de benchmark
Fil principal saturé · Redstone
Un fil de jeu dépasse déjà son budget de tick avec la seule charge du banc. Des joueurs ou de la redstone l'enfonceront davantage.
- mspt_avg = 57,6 ms
- mspt_target = 35 ms
- tps_avg = 17,36 tps
- tps_held_threshold = 18 tps
Test le plus faible : IA des mobs, 3,64 TPS en moyenne. Les 15 autres tests tiennent au moins 17,36 TPS.
Face aux autres serveurs
La comparaison avec les autres serveurs porte sur les rapports notés par la version 8.3.0 du barème. Ce rapport a été noté par une autre version : son score n'est pas comparable.
Ce qu’il faut retenir
Tiré des mesures, jamais estiméFil principal saturé
Un fil de jeu dépasse déjà son budget de tick avec la seule charge du banc. Des joueurs ou de la redstone l'enfonceront davantage.
Cause probable : cœur unique
- mspt_avg = 57,6 ms
- mspt_target = 35 ms
- tps_avg = 17,36 tps
- tps_held_threshold = 18 tps
Pointes de tick
Les pires ticks valent plusieurs fois la moyenne. Le TPS moyen reste bon pendant que les joueurs sentent les à-coups.
- mspt_avg = 274,6 ms
- mspt_p99 = 1 233,95 ms
- spike_ratio = 4,49 ratio
- sample_count = 69 count
Configuration serveur modifiée
Comparez avec prudence à un serveur réglé par défaut.
- view-distance 6 (défaut 10)
- simulation-distance 4 (défaut 10)
›+1 autre constat
blockPhysicscœur uniqueUn fil de jeu dépasse déjà son budget de tick avec la seule charge du banc. Des joueurs ou de la redstone l'enfonceront davantage.
- mspt_avg = 50 ms
- mspt_target = 35 ms
- tps_avg = 20 tps
- tps_held_threshold = 18 tps
Un constat se tait plutôt que d'attribuer une cause sans preuve. Une cause absente est une réponse, pas un oubli.
Test par test
Les problèmes d’abord — choisissez une ligne pour le test complet- IA des mobsEntités3,64InstableCritique
- RedstoneStress mono-cœur17,36InstableCritique
- Réseau (NBT)Réseau19,94StableInstable
- Mise à jour de lumièreExploration19,64StableSain
- Chargement de chunksExploration19,79StableSain
- Sauvegarde du mondeMécaniques19,80StableSain
- Croissance par poudre d'osMécaniques19,95StableSain
- Ticking des chunksExploration19,97ModéréeSain
- Entonnoirs (hoppers)Mécaniques19,97StableSain
- Tile entities tickéesMécaniques19,97StableSain
- ExplosionsMécaniques19,99ModéréeSain
- Physique des blocsStress mono-cœur20,00StableSain
- Performance disqueMémoire & Stockage20,00StableSain
- Performance mémoireMémoire & Stockage20,00StableSain
- CPU multi-cœurCPU20,00StableSain
- Mono-cœur (aligné sur les ticks)CPU20,00StableSain
Les réglages que vos mesures justifient
Chaque réglage ci-dessous est déclenché par une mesure de ce rapport, et nomme le test à rejouer pour savoir s’il a servi.
Réduire la portée d’activation des monstres
world-settings.default.entity-activation-range.monsters: 24Mesuré : mobAI.mspt.avg 274.6 ms (seuil 35.0 ms)
L’intelligence des créatures coûte plus par tick que le budget ne l’autorise. La portée d’activation décide à quelle distance d’un joueur un monstre continue de réfléchir ; la réduire endort les plus lointains sans les supprimer.
Test à rejouer : mobAI
Plafonner la TNT traitée par tick
world-settings.default.max-tnt-per-tick: 40Mesuré : explosion.mspt.avg 50.0 ms (seuil 35.0 ms)
Les explosions coûtent plus par tick que le budget ne l’autorise. Plafonner le nombre d’entités amorcées traitées par tick étale une grosse déflagration sur plusieurs ticks au lieu d’un long gel.
Test à rejouer : explosion
Abaisser la limite d’apparition des monstres
spawn-limits.monsters: 50Actuellement : 70
Mesuré : mobAI.mspt.avg 274.6 ms (seuil 50.0 ms)
L’intelligence des créatures dépasse le coût critique par tick, là où réduire la portée d’activation ne suffit plus. La limite d’apparition plafonne le nombre de monstres qui existent par joueur, ce qui est le seul réglage d’ici qui réduit le travail au lieu de le différer.
Test à rejouer : mobAI
Ces réglages échangent un peu de fidélité de jeu contre du budget de tick. Appliquez-en un à la fois et rejouez le test nommé : l’effet reste une hypothèse tant que vous ne l’avez pas mesuré.
Briefing pour un modèle de langage
Collez-le dans l’assistant de votre choix pour le faire reformuler. Il porte déjà tous les nombres : le modèle n’en a donc aucun à inventer.
{
"format": "voxelbench.tuning.v1",
"instruction": "Rewrite each recommendation below as plain prose for a server operator. Every number you are allowed to use is already in this document: the measured value, its threshold, and the proposed setting. Do not compute, estimate or predict any other number, and never state an expected gain. Keep every setting name and value exactly as written.",
"server": {
"type": "folia",
"minecraft": "26.3",
"java": "25.0.5.0.3"
},
"recommendations": [
{
"id": "spigot.portee-activation-monstres",
"family": "spigot",
"measure": "mobAI.mspt.avg",
"value": 274.6,
"unit": "ms",
"threshold": 35,
"control_test": "mobAI",
"file": "spigot.yml",
"setting": "world-settings.default.entity-activation-range.monsters",
"proposed_value": "24",
"current_value": null
},
{
"id": "spigot.tnt-par-tick",
"family": "spigot",
"measure": "explosion.mspt.avg",
"value": 50,
"unit": "ms",
"threshold": 35,
"control_test": "explosion",
"file": "spigot.yml",
"setting": "world-settings.default.max-tnt-per-tick",
"proposed_value": "40",
"current_value": null
},
{
"id": "bukkit.limite-monstres",
"family": "bukkit",
"measure": "mobAI.mspt.avg",
"value": 274.6,
"unit": "ms",
"threshold": 50,
"control_test": "mobAI",
"file": "bukkit.yml",
"setting": "spawn-limits.monsters",
"proposed_value": "50",
"current_value": "70"
}
]
}Ligne de démarrage Java
Les options avec lesquelles ce serveur a démarré, vérifiées pour sa version de Java. Les corrections réparent ce qui est faux à coup sûr ; les pistes à tester sont des réglages à mesurer, jamais appliqués à votre place.
Ligne actuelle (27 arguments)
Les valeurs des propriétés système, des agents et des chemins de fichiers ne sont jamais affichées : elles apparaissent comme <redacted>.
-XX:ThreadPriorityPolicy=1 -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCIProduct -XX:+EnableJVMCI -XX:-UnlockExperimentalVMOptions -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -Xmx11729M -Xms11729M
À corriger
- À corrigerOption donnée plusieurs fois
-XX:+UnlockExperimentalVMOptionsLa JVM ne garde que la dernière occurrence (-XX:+UnlockExperimentalVMOptions) ; les précédentes ne font rien, sinon tromper qui lit la ligne.
Ligne corrigée à copier
- Retirée
-XX:+UnlockExperimentalVMOptionsoccurrence antérieure ; la JVM garde -XX:+UnlockExperimentalVMOptions. - Retirée
-XX:-UnlockExperimentalVMOptionsoccurrence antérieure ; la JVM garde -XX:+UnlockExperimentalVMOptions.
java -XX:ThreadPriorityPolicy=1 -XX:+EnableJVMCIProduct -XX:+EnableJVMCI -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Xmx11729M -Xms11729M -jar server.jar noguiRemplacez server.jar par le jar de votre serveur. Collez la ligne là où votre serveur est démarré : les paramètres de démarrage (ou arguments JVM) de votre panneau d'hébergement, ou votre start.sh / start.bat. Seules les corrections ci-dessus la distinguent de votre ligne actuelle.
Votre ligne actuelle porte aussi 2 autres arguments (propriétés système, agents) : gardez-les entre java et -jar. Leurs valeurs ne sont pas affichées ici.
Relancer et comparer
- Appliquez la ligne corrigée là où votre serveur démarre (paramètres de démarrage du panneau, start.sh).
- Redémarrez le serveur.
- Lancez un nouveau banc :
/bench start - Comparez le nouveau rapport avec celui-ci.
Ce rapport est l'avant ; ajoutez le nouveau rapport à la comparaison quand il sera là. Un seul run de chaque côté dit peu de chose : l'écart entre deux runs d'un serveur inchangé est du bruit.
Conditions du run
Ce que le plugin a vu de l'hôte pendant le banc, et ce que le site en conclut. Le plugin rapporte des faits ; les verdicts et leurs seuils sont ceux du site, les mêmes que ceux du diagnostic et de l'API.
Le calcul de référence chronométré pendant le run a gardé son rythme, et l'hyperviseur n'a pas pris de temps CPU notable.
Un quota CPU, un jeu de CPU réduit ou une limite mémoire s'applique au serveur.
Contention pendant le run
- Ralentissement du calcul de référence
- 0,2 % (seuil 15 %)3 mesures : 12,1 ms · 12,1 ms · 12,1 ms (un premier temps lent ne compte pas à lui seul) — jugées sur la médiane d’au moins 40 échantillons par mesure (plugin 2.6.2) ; bruit de l’hôte 0,7 %, le seuil s’y élargit, de 15 à 30 % — attente du calme du serveur avant Entonnoirs (hoppers), après le chargement de tronçons : 0,0 s (limite 30,0 s, après une génération de tronçons)
- Temps CPU volé par l'hyperviseur
- 0 % (seuil 5 %)
- Périodes d'ordonnancement terminées bridées par le quota
- 1 % (seuil 25 %)73,6 ms
- Temps passé par une tâche à attendre un cœur
- 0 % (seuil 40 %)
Limites vues par le serveur
- Quota CPU
- 8 cœurs
- Jeu de CPU
- 0-31 (32 cœurs)
- Limite mémoire
- 16 GiB
- CPU logiques de l'hôte
- 8
- Mémoire de l'hôte
- 16 GiB
- Signes de conteneur
- cgroup-v2-namespace, overlay-root
Stockage
- Système de fichiers
- ext4 · Système de fichiers local
- Lectures 4K directes
- Honorées (71,1 µs contre 0,3 µs depuis le cache)
Mesure single-core
- Débit (temps mural)
- 825,5 M ops/s825,5 M ops/s sur le temps CPU du fil
- Temps CPU du fil / temps mural
- 1,000 (seuil 0,900)Sous 1, le fil n'a pas tourné pendant une partie de ses tranches (quota, voisins, vol de l'hyperviseur s'il est compté, pauses de la JVM). Proche de 1, il ne prouve rien.
- Dispersion d'une seconde à l'autre
- 3,5 % (seuil 40 %)p10 817,8 M · p50 823,6 M · p90 846,6 M ops/s sur 9 secondes
- Pauses du GC pendant la mesure
- 0 ms (seuil 50 ms)0 collecte, 0 ms de collecte
- Fréquence CPU courante la plus haute
- 5 645 MHz (8 CPU lus)maximum annoncé : 5 456 MHz
Témoins du test single-core (plugin 2.5.0). La note ne lit pas ce test, et aucun de ces chiffres ne change le verdict de stabilité du run.
Hôte, mémoire et état du serveur
- Temps passé par une tâche à attendre le stockage
- 2,8 % (toutes les tâches à la fois : 2,7 %)comprend le test disque, qui attend le stockage par construction : non jugé pour le run
- Temps passé par une tâche bloquée sur la mémoire
- 0 % (toutes les tâches à la fois : 0 %) (seuil 5 %)
- Quota CPU pendant le run
- 8 cœursaucun changement observé
- Mémoire du conteneur
- pic 14 166 Mioévénements de limite : high 0 · max 0 · tués par l'OOM 0
- Tâches prêtes sur la machine
- jusqu'à 7,9 en moyenne pendant un test, pour 8 CPU logiquesvaleurs du conteneur (lxcfs) : elles ne disent rien des voisins
- Serveur au départ du run
- JVM démarrée depuis 104,6 min6 bancs avant celui-cihors du monde de banc : 0 joueurs · - tronçons · - entités
Pressions du run depuis le plugin 2.4.0, le reste depuis le plugin 2.6.0. Aucun de ces chiffres ne change la note ni le verdict de stabilité du run ; le diagnostic nomme les tests concernés.
Les seuils et leurs raisons sont publiés dans la méthodologie du banc. Règles rc-7.
Toutes les mesures
Chaque test en entier. Les tests en difficulté sont ouverts ; les autres se replient sur leur ligne de résumé.
Stress mono-cœur
RedstoneCritique17,36 TPS57,6 ms39.7s
Stress mono-cœur via mises à jour intensives de circuits redstone.
- Ramasse-miettes chargé13 collections, 48ms total
- Le run n’a pas tenuTPS avg=17.36<19, TPS P1=15.00<15, TPS StdDev=2.49>2
Percentiles et stabilité
Les régions des zones du test. Chaque chiffre est celui de la pire région.
- Régions mesurées
- 1
- Secondes mesurées
- 21 s
- TPS médian
- 18,00 TPS
- TPS effectif
- 17,36 TPS
- Pire MSPT soutenu
- 82,3 ms
- Temps dégradé
- 47,6 %
- Secondes dégradées
- 10 s
- Ticks hors budget
- 12,4 %
Données brutes (51 champs)
Physique des blocsSain20,00 TPS50,0 ms25.1s
Stress mono-cœur via la physique des blocs qui tombent.
Percentiles et stabilité
Les régions des zones du test. Chaque chiffre est celui de la pire région.
- Régions mesurées
- 1
- Secondes mesurées
- 13 s
- TPS médian
- 20,00 TPS
- TPS effectif
- 20,00 TPS
- Pire MSPT soutenu
- 50,0 ms
- Temps dégradé
- 0,0 %
- Secondes dégradées
- 0 s
- Ticks hors budget
- 0,0 %
Données brutes (48 champs)
Exploration
Chargement de chunksSain19,79 TPS50,5 ms12.8s
Vitesse de génération et de chargement des chunks sur plusieurs zones dispersées.
- Ramasse-miettes chargé1 collections, 99ms total
Percentiles et stabilité
Les régions des zones du test. Chaque chiffre est celui de la pire région.
- Régions mesurées
- 8
- Secondes mesurées
- 11 s
- TPS médian
- 20,00 TPS
- TPS effectif
- 19,69 TPS
- Temps dégradé
- 0,0 %
- Secondes dégradées
- 0 s
- Ticks hors budget
- 0,8 %
Données brutes (32 champs)
Ticking des chunksSain19,97 TPS50,1 ms35.0s
Performance lors du ticking de nombreux chunks chargés avec random-tick activé.
- Ramasse-miettes chargé4 collections, 61ms total
Percentiles et stabilité
Les régions des zones du test. Chaque chiffre est celui de la pire région.
- Régions mesurées
- 1
- Secondes mesurées
- 28 s
- TPS médian
- 20,00 TPS
- TPS effectif
- 19,97 TPS
- Temps dégradé
- 0,0 %
- Secondes dégradées
- 0 s
- Ticks hors budget
- 0,3 %
Données brutes (42 champs)
Mise à jour de lumièreSain19,64 TPS50,9 ms8.5s
Débit des recalculs de lumière lors de pose / casse de blocs.
Percentiles et stabilité
Les régions des zones du test. Chaque chiffre est celui de la pire région.
- Régions mesurées
- 8
- Secondes mesurées
- 7 s
- TPS médian
- 20,00 TPS
- TPS effectif
- 19,64 TPS
- Temps dégradé
- 0,0 %
- Secondes dégradées
- 0 s
- Ticks hors budget
- 0,6 %
Données brutes (39 champs)
Entités
IA des mobsCritique3,64 TPS274,6 ms30.2s
Comportements IA complexes (villageois, golems de fer, mobs hostiles).
- Ramasse-miettes chargé5 collections, 146ms total
- Le run n’a pas tenuTPS avg=3.64<19, TPS P1=4.78<15
Percentiles et stabilité
Les régions des zones du test. Chaque chiffre est celui de la pire région.
- Régions mesurées
- 1
- Secondes mesurées
- 23 s
- TPS médian
- 4,00 TPS
- TPS effectif
- 3,64 TPS
- Pire MSPT soutenu
- 810,1 ms
- Temps dégradé
- 100,0 %
- Secondes dégradées
- 23 s
- Ticks hors budget
- 100,0 %
Données brutes (59 champs)
Mécaniques
Entonnoirs (hoppers)Sain19,97 TPS50,1 ms30.0s
Transferts d'objets intensifs en chaîne via hoppers.
Percentiles et stabilité
Les régions des zones du test. Chaque chiffre est celui de la pire région.
- Régions mesurées
- 8
- Secondes mesurées
- 28 s
- TPS médian
- 20,00 TPS
- TPS effectif
- 19,97 TPS
- Temps dégradé
- 0,0 %
- Secondes dégradées
- 0 s
- Ticks hors budget
- 0,2 %
Données brutes (36 champs)
ExplosionsSain19,99 TPS50,0 ms6.6s
Explosions massives de TNT et destruction de blocs.
Percentiles et stabilité
Les régions des zones du test. Chaque chiffre est celui de la pire région.
- Régions mesurées
- 8
- Secondes mesurées
- 5 s
- TPS médian
- 20,00 TPS
- TPS effectif
- 19,99 TPS
- Temps dégradé
- 0,0 %
- Secondes dégradées
- 0 s
- Ticks hors budget
- 0,8 %
Données brutes (84 champs)
Tile entities tickéesSain19,97 TPS50,1 ms36.2s
Nombreuses tile entities qui tickent (fours, hoppers, etc.).
Percentiles et stabilité
Les régions des zones du test. Chaque chiffre est celui de la pire région.
- Régions mesurées
- 8
- Secondes mesurées
- 28 s
- TPS médian
- 20,00 TPS
- TPS effectif
- 19,97 TPS
- Temps dégradé
- 0,0 %
- Secondes dégradées
- 0 s
- Ticks hors budget
- 0,0 %
Données brutes (37 champs)
Sauvegarde du mondeSain19,80 TPS50,5 ms4.9s
Vitesse de sauvegarde du monde et impact TPS pendant l'opération.
Percentiles et stabilité
Les régions des zones du test. Chaque chiffre est celui de la pire région.
- Régions mesurées
- 1
- Secondes mesurées
- 3 s
- TPS médian
- 20,00 TPS
- TPS effectif
- 19,80 TPS
- Pire MSPT soutenu
- 50,0 ms
- Temps dégradé
- 0,0 %
- Secondes dégradées
- 0 s
- Ticks hors budget
- 0,0 %
Données brutes (35 champs)
Croissance par poudre d'osSain19,95 TPS50,1 ms23.4s
Croissance rapide de cultures et d'arbres via poudre d'os.
Percentiles et stabilité
Les régions des zones du test. Chaque chiffre est celui de la pire région.
- Régions mesurées
- 1
- Secondes mesurées
- 22 s
- TPS médian
- 20,00 TPS
- TPS effectif
- 19,95 TPS
- Pire MSPT soutenu
- 53,3 ms
- Temps dégradé
- 0,0 %
- Secondes dégradées
- 0 s
- Ticks hors budget
- 0,2 %
Données brutes (39 champs)
CPU
Mono-cœur (aligné sur les ticks)Sain20,00 TPS2,1 ms10.0s
Débit mono-thread mesuré sur le thread principal, sous contrainte du tick scheduler.
Percentiles et stabilité
Données brutes (35 champs)
CPU multi-cœurSain20,00 TPS0,1 ms7.5s
Débit de calcul parallèle réparti sur les threads de travail.
Percentiles et stabilité
Données brutes (28 champs)
Mémoire & Stockage
Performance mémoireSain20,00 TPS0,1 ms24.0s
Bande passante et latence de la RAM.
Mesures via JVM — ne reflètent pas les performances bare-metal réelles.
Percentiles et stabilité
Données brutes (28 champs)
Performance disqueSain20,00 TPS0,1 ms102.6s
Lecture / écriture séquentielle et aléatoire 4K.
Mesures via JVM — ne reflètent pas les performances bare-metal réelles.
Percentiles et stabilité
Données brutes (27 champs)
Réseau
Réseau (NBT)Instable19,94 TPS13,2 ms20.0s
Débit de sérialisation — proxy de la vitesse à laquelle le serveur peut transmettre les données monde aux clients.
- Ramasse-miettes chargé5 collections, 19ms total
- Le run n’a pas tenuTPS P1=15.00<15
Percentiles et stabilité
Données brutes (28 champs)
›Machine et serveurAMD Ryzen 9 9950X3D2 16-Core Processor · Folia · 26.3
Détail des scores
Scores détaillés par sous-catégorie