[GUIDE] Server Optimization⚡

Discussion in 'Performance Tweaking' started by Celebrimbor, Nov 6, 2017.

  1. I will try, thank you so much for your answer.
     
  2. Are these with per-player-mob-spawning on or off?
     
  3. On :)
     
  4. electronicboy

    IRC Staff

    Been wanting to comment on a few random caveats here and there, especially with 1.14+ consistently getting the same type of help requests, etc
    The most important aspect is that there is no magical silver bullet for performance, getting great performance out of 1.14+ means taking what you learn here and applying it far beyond just a copy and paste guide, but a starting point towards learning how to manage your server as a whole


    1) Do not stack/cull natural mobs!
    Vanilla is much more active towards ensuring that it reaches its spawn targets, especially with 1.14+, consistently culling or stacking natural mob spawns has been a heavy sign of servers kicking the proverbial bucket; You can often see this being attributed to the mobSpawn timer in timings, a spike here and there is somewhat expected given the nature of this task, but, if you're seeing it consistently, you need to re-evaluate your setup. You can semi-tame this by using per-player mob spawning and drastically reducing your spawn limits, (honestly, the spreading of entities will be *much* better, that your players generally won't even notice this)

    2) Aikars flags are a good starting point
    But, they're also not a magical silver bullet either, 1.14+ has higher long term memory usage due to the extra chunks and data in play all the time, if you're seeing old-gen collections (config > system config > gc), you might wanna change the NewGen flags from 50/80 to 40/60 to account for this, 1.14 also sees me change my minimum ram recommendations from a gig being okay to two being pretty much essential

    3) Entities are bad for performance, especially with 1.14
    Mojang made a few technical decisions which I've detailed elsewhere, but, basically, the chart in timings shows total entities, i.e. those which are not ticking but are still loaded in memory, use the actual timings info to see what is being ticked, also, remember, that the time-frame in timings are something that you need to be aware of, you're going to see a lot more zombies at night than at day, for example

    4) Learn to read timings
    Seriously, there is a video guide in the top corner, I've also been debating on creating a cut down guide which goes over timings and maybe goes into some caveats of it, but, nobody is going to go over your timings for you as in-depth as you can, the trick is to focus on the outliners first and address them, feel free to ask for assistance, but, at the same point, if you're throwing your timings out every day, you're doing something wrong
     
    • Agree x 5
    • Winner x 3
    • Like x 2
    • Useful x 2
    • Informative x 1
    • Friendly x 1
  5. I honestly use it all , and use paper
    But 1.14.4 is still bad
    As long as the player exceeds 60+, the server's tps will be greatly reduced (12.0)

    Does paper can support multi-core operation?
     
  6. electronicboy

    IRC Staff

    The maintenance of such a patch is not really viable, nor is there any garauntee of real gains, the whole "just throw a dozen threads at it == perfomance" is just stupid, nor is there a way to truly thread the server without breaking bukkit support
     
    • Agree Agree x 5
    • Informative Informative x 1
  7. JugadorNinja

    Supporter

    Mine drops from 19-20 TPS to 12-14 TPS when it hits the 50 player mark :/
    If you ever find a solution, please share it.
     
    • Agree Agree x 2
  8. What is your Dedicated RAM?
     
  9. Ram is not the bottleneck on modern servers
     
    • Agree Agree x 3