Operations7 min read
Why TPS drops, and what to do in the order that works
Ticks are a fixed budget. What overspends it, how to find the specific cause instead of the usual suspects, and the fixes ranked by what they cost you.
A tick is a budget: fifty milliseconds to simulate everything. Twenty ticks a second is full speed and anything less means the work did not fit. The useful question is never why is my server lagging, it is what is spending the fifty milliseconds.
The usual spenders
- Entities, particularly stacked mobs in a farm somebody built and forgot.
- Hoppers and other block entities that tick constantly whether or not anything moves.
- Chunk loading, which is terrain generation billed to whoever is walking.
- A plugin running a task every tick because that was easier than scheduling it.
Find it rather than guess it
A profiler names the plugin and the method. Ten minutes of profiling beats a week of removing things one at a time, and it produces something you can show the plugin author rather than an opinion about their work.
Fixes, cheapest first
- Clear the entity backlog and cap what created it.
- Reduce view and simulation distance by one or two. Nobody notices; the server does.
- Remove or replace the plugin the profiler named.
- Pre-generate the world so exploration stops generating terrain.
- Then, and only then, consider a faster machine.