Direct answer
Set Folia threaded-regions.threads only after reserving physical CPU cores for chunk generation/I/O, Netty, JVM GC and other tasks. More tick threads do not guarantee higher TPS, especially if players concentrate in one region.
How to check it
- Check your available physical CPU cores, not just the vCPU number reported inside a VPS/container. Confirm actual CPU quotas and host contention.
- Record peak players and whether they are clustered or spread across independent regions.
- Check Folia region/tick activity, chunk generation demand, GC and CPU usage before changing thread allocation.
What to change
Folia’s FAQ offers a historical, rough planning model: first budget other workers, then allocate remaining cores up to around 80% of available CPU cores to total planned threads. This is not an 80%-CPU-utilization target or a requirement for every server.
# In Folia global config (structure varies by release):
threaded-regions:
threads: 4 # example only: not a recommendationPre-generate terrain when feasible to reduce worker pressure. Change the tick-thread budget gradually while monitoring region TPS/MSPT and other thread pools.
Software and version notes
This advice is specific to Folia’s FAQ. The FAQ’s example was derived from an older ~330-player test and explicitly cautions that it needs tuning. Do not apply these settings to Paper/Purpur without verifying software-specific threading.
Verify the result
Repeat the same clustered and distributed player tests; monitor per-region behavior, overall CPU saturation, GC and chunk load latency. Revert any change that starves other work or makes performance less predictable.