The TPS number looks acceptable, yet blocks occasionally refuse to break. An average can hide a few very slow ticks. Looking at tick duration and the actual activity behind those spikes gives you a more useful diagnosis.
Use TPS to describe tick rate and MSPT to describe tick duration. Capture the slow period, identify the costly work and repeat a controlled test after one targeted change.

Read the two measurements together
A normal Minecraft server targets 20 ticks per second, giving about 50 milliseconds per tick. Sustained work beyond that budget reduces tick rate. A server averaging below 50 ms can still have unpleasant isolated spikes.
Read a time window, not a single screenshot. Compare typical, high-percentile and maximum tick duration where your tool exposes them. Network ping and client FPS answer different questions.
Capture slow ticks rather than guessing
Use a compatible spark installation while the issue is active. The following sample focuses on ticks above 100 ms for five minutes. It deliberately selects unusually slow ticks, so it does not describe the cost of every normal tick.
/spark profiler start --only-ticks-over 100 --timeout 300
Record what players were doing and when. If the issue is steady rather than spiky, collect a normal profile too. Do not substitute deprecated timings output where the current platform recommends spark.
Follow the expensive branch
Look for the work consuming the relevant thread: a plugin callback, entity activity, terrain generation, synchronous file or database work, or another task. A familiar plugin name somewhere in the call tree is not proof that it is the root cause.
Share the report with the plugin author or host when interpretation is uncertain. Redact secrets and private player information from accompanying logs. Keep the version and reproduction steps with it.
Run a small, reversible experiment
For an exploration spike, compare the same path after pre-generation. For a busy farm, compare the measured area with a quiet one. For a suspected plugin, use a backup copy and disable or update one compatible component at a time.
Do not downgrade a world to make a plugin work, and do not perform broad live deletions of entities or world files. These can create a recovery problem without fixing tick time.
Retest before buying more RAM
Repeat the original activity with similar settings and users. If memory pressure is absent but a CPU allocation is consistently exhausted, more RAM may leave the bottleneck unchanged. Compare the plan’s resources with the profile and ask about the allocation you actually need.
The 8 GB lag guide covers memory-specific misunderstandings. The chunk guide covers a planned way to move generation work out of player sessions.
Before you finish
- Record a time window of TPS and tick duration.
- Capture the workload while it is slow.
- Test one plausible cause on a safe copy.
- Repeat the same session and retain the reports.
Common questions
Can 20 TPS still feel uneven?
Yes. Short bursts of slow ticks can be hidden by a longer average, and latency or low client FPS can cause a different kind of delay.
Does 50 ms mean 50 ms of network ping?
No. MSPT measures server tick duration. Ping measures a network round trip.
Official documentation
Commands and configuration depend on your installed software version. Check its current documentation, keep a backup and test one change at a time.
Build a setup that fits your server
Compare monthly allocations and CPU tiers, or use the plan finder for a starting estimate.
Compare Minecraft hosting plans Find a plan