Lots of chests

Discussion in 'Performance Tweaking' started by Bobcat00, Feb 10, 2020.

  1. I have a creative plot world, and the players have put down around 13,000 chests. I see from the timings that tileEntityTick is taking 9 msec out of each tick. I doubt that these chests even contain anything, and they're certainly not collecting items.

    This world has no mobs, no animals, no villagers, no spawning, no drops, no exp. Very few hoppers. There are probably a fair number of signs and probably item frames, maybe even enchantment tables.

    Is there any way to reduce the time the server spends on these chests that do nothing? Perhaps in the world-settings part of spigot.yml?

    Here's a timings report with close to 40 people on:
    https://timings.spigotmc.org/?url=ucuwihiyuy
     
  2. There is a way but requires Paper. That is container-update-tick-rate.
     
  3. Any thoughts on changing these values in spigot.yml?
    Code (Text):
    view-distance: default
    hanging-tick-frequency: 100
    max-tick-time:
      tile: 50
      entity: 50
     
  4. max-tick-time is broken. hanging-tick-frequency is for item frames, paintings, ...
    view-distance can help, in the sense that less chunks and therefore less chests may be loaded at the same time.
     
  5. That's from 4 years ago.
     
  6. md_5

    Administrator Developer

    Unless your creative world is used eg as a redstone sandbox you could reduce max tile tick time a bit.

    Chests themselves are only about 3% of your total server load (ie only about 2ms/tick of that 9ms spent on tiles), which isnt very significant considering there's over 10,000 of them.
     
  7. I think that your problem may be more fundamental.

    Why are your players creating an average of 325 chests each!
    (Perhaps, you should limit this?)

    They are in a creative world! Why would they want that much storage? Are they trying to make automatic storage sorters?

    Your problem could be to do with the contents of the chests, pictures, maps, etc?
     
  8. Somehow, my server has become popular with Mineplex 'Clans' players. They use my server to prototype their bases, which can be quite elaborate and have a whole bunch of chests for storing their loot (I presume).

    There are usually only 8 or so players on at once, but last night the Clans server went down and everyone came on my server. So it gave me the opportunity to run timings with 40 players on. It was interesting, to say the least. The server ran reasonably well until it hit 25 to 30 players.

    I've reduced the view distance to 7, which reduces the number of chunks loaded (for a single player) by 45%.

    These Clans players are all on 1.8.8. I have very few survival or 1.15 players. It almost makes me wish I just kept it on 1.8.8 instead of upgrading and using Via* for compatibility. Almost. I don't miss the German hackers.

    I think the Clans players found my server when I was one of the very few 1.8.8 Creative servers in the United States, and the large 101x101 plots provide a lot of room to build. I also allow WorldEdit and Schematica 'Printer', both of which they use frequently. Since Clans is still a 1.8.8 game, they want a server which supports 1.8.8 so they don't have to switch game versions.
     
  9. TBH that rather sounds like you have answered your own question.
    You would be better to relaunch that server as 1.8.8 only and get rid of the update and downgrade conversion compexities, if you want those players?
    And, maybe a seperate server for plyers using MC 1.9 and above?
     
  10. I found a plugin called Insights which can count the number of tile entities where some of these builders have been pretty active. 11,081 tiles, including 9,375 chests and 1,612 signs, within an 8 chunk radius. And I have no idea why they need 77 enchanting tables!

    insights.png
     
    #10 Bobcat00, Feb 12, 2020
    Last edited: Feb 13, 2020
    • Winner Winner x 1
    • Informative Informative x 1
  11. Wow, that's a great plugin! Thanks for sharing. :coffee: