Direct answer
Measure a normal, repeatable workload before changing configuration. Record both median and high-percentile MSPT along with players, plugin/mod set and world conditions. An empty-server result is not a production baseline.
Capture the baseline
- Write down software/Minecraft/Java versions, plugin and mod list, CPU allocation, memory limits, active worlds and view/simulation distance.
- Choose a realistic activity period such as a busy hour or known farm test; record player count and what was happening.
- Run
/spark tps, then/spark profiler start --timeout 120during that period. Save the report and log timestamps. - Note process CPU, memory pressure and any scheduled backups or world generation jobs.
Control the comparison
When testing an optimization, change only one relevant setting at a time, restart only when required, and repeat a comparable workload. Keep the previous value and a usable backup. A lower entity count caused by changing mechanics is not equivalent to a free CPU optimization.
Version and safety notes
Thresholds and profiler commands reflect normal Paper-style behavior; forks and regionized servers can require different interpretations.
Interpret the result
20 TPS can coexist with little spare tick headroom. For a regular 20 TPS tick loop, sustained MSPT around 50 ms leaves little room for spikes; compare median with 95th percentile and worst ticks. Folia has parallel regions and requires region-aware interpretation.
References
Check documentation for the versions and hosting environment you actually run.
Related guides
Help us improve this article
Tell us what is missing, unclear, outdated, or incorrect. You can also suggest something we should add.