Checking lag sources on a spigot server
We are running a public vanilla minecraft server through oracle cloud. With 10+ people the tps can drop down to 12 without anybody doing anything resource intensive like exploring or running any big farms. Through spark we can see that the server isnt utilizing all the resources, using only 6-10 GB of ram out of the available 24 it should have, any the CPU is usually around 30%, rarely going up to 60%. Spark says the biggest source of the lag is guard.EntityTick() but we cant figure out what it actually means by that or where would we find that inside the world. We would rather not install fabric/forge.
So the question is, how can I find the source of the lag, or figure out why the server isnt utilizing all the resources it has?
42 Replies
can you share the spark profile?
of course, https://spark.lucko.me/FuZT0xZGtT
spark
spark is a performance profiler for Minecraft clients, servers, and proxies.
Pufferfish Host | Downloads - Pufferfish Fork
Download Pufferfish and Pufferfish+ Minecraft server jars
all plugins will be compatible
also, use launch flags from https://flags.sh/ and only allocate about 8GB. You don't need 24GB of ram to run a minecraft server and having more ram allocated will slow down your server
paper will definietly not be used since its an SMP with automated farms and stuff, and i never heard about pufferfish so ill look it up
we will also try changing the ram
well pufferfish is based on paper
you can disable features to make paper act closer to vanilla
villagers are the main source of lag anyways tbf
If you don't want paper, try fabric with Lithium
We would rather not install fabric/forge
Oh, didn't read that
But weird, people should be able to join without installing fabric on the client afaik
To be fair if we have no other option we'll probably get fabric first instead of switching to paper, currently its running okay
and ye, dealing with villagers could be something we do
If your decision for not using paper/fabric/forge is to keep the vanilla mechanics or breaking redstone contraptions, the people from Hermitcraft actually use fabric with Lithium because of that reason, it doesn't break vanilla mechanics
In the meantime, most of your lag is caused by entities, so keep them controlled
not using paper is definietly for keeping vanilla mechanics, as for fabric/forge, i dont have anything against it, it would just mean some downtime for the server til we switch, but if it improves performance we'll switch eventually
entitylag on a public server seems to be harder to control tho, since everybody has their own base and its kind of hard to tell people to "not have animals" or "not have villagers", but we'll keep it in mind
yes, it is harder to control because you’re using a software with no perf improvements
if you didnt make the switch; make it. was in the same boat as you. most plugins that we used (geyser, coreprotect, simple vc) had replacements on paper or the exact same plugin. honestly had better performance on it somehow
well currently we are on the edge of switching, currently the worries are 1. coreprotect alternative seems a little lacking, altough its not a dealbreaker
2. heard about possible world corruptions so want to make sure thats not a thing when switching to fabric
3. something for fabric that can check sources of lag, simular to observable
but ye, we'll probably try out fabric soon enough
spark exists for fabric so should be fine
oh, i guess i never checked that huh
yeah, the mod is a LITTLE lackluster
and yeah spark is on fabric
i had no issues w/ world corruption
you just need to move the folders and rename
there's a guide. no user data lost at all
ye, tbf i also feel it wouldnt be logical if there was world corruption just from this, but its better to be safe then sorry, so we'll still make a backup and stuff
that's what i did and it went perfectly
well, it went pretty well, only thing we lost is the authentication since we didnt find a way to convert loginsecurity database to the easyauth database, which is a shame
while the transfer went well, performance didnt improve at all (we also tried changing the RAM for the server to 8GB as suggested, but it didnt change much) https://spark.lucko.me/7B300Xlmlg
spark
spark is a performance profiler for Minecraft clients, servers, and proxies.
fabric isnt known to be fast (comparatively), paper will blow it out the water
Odd
oh offline mode 😭
What provider are you using?
Oracle cloud
ah
we'd like the true vanilla experience, to my knowledge paper still changes vanilla mechanics where some are not even configurable
right but i was saying about the performance
most things are tho, purpur lets you change even more things to vanilla
I know you don't want paper but I love it, performance wise it is amazing, I would at least give it a try and tweak it as needed
I can't comment on purpur since I've never used it, I've mostly used paper (and a little bit of fabric in the past)
it honestly doesnt fill me with much confidence that paper itself knows it cant give the full vanilla experience, and from what i heard setting it up so it doesnt break anything would take a long time
we'll see, right now we'll try to make fabric work as best we can i guess, maybe i'll look into paper/purpur eventually
Paper isn't worth it for what people want. There's a different in a online popular server SMP vs. a legit minecraft survival world. Paper just breaks too many mechanics in modern minecraft for automation and chunks. Disable it all you want, Paper breaks the gamme from inside just to increase performance. If you want better performance with full vanilla, you gotta spend more unfortr
Paper doesnt break that many vanilla mechanics, craftbukkit and spigot do
They're recovering vanilla mechanics actually
id be interested to hear what spigot breaks cause i didnt hear or experience anything, yet paper is known for breaking vanilla mechanics and "fixing" them, they say it themselves https://docs.papermc.io/paper/vanilla
Vanilla-like Experience | PaperMC Docs
This page lists all changes that result in a different experience than Vanilla.
All I'm saying is that if you want better performance paper works well, it won't give you exactly the same experience as vanilla but you have to pay the price for things like that sometimes
CraftBukkit for example introduced a queued neighbor update logic while vanilla one is instant
Which affects redstone components
I should also mention that oracle’s free tier is pretty slow
Its just weird because weve never had problems with it even in modded games (granted, we didnt have 10+ players) and the specs seem alright (and we'd like to avoid spending money of course), but im open to hear about suggestions about other hosting options, whether its paid or not
I made a similar question before, let me look for the post
https://discord.com/channels/348681414260293634/1312194198925217793/1312194198925217793
Oh cool, ill check that out when i have the chance, altough things may be different since im in central europe (hungary)