Server TPS Fluctuates

Discussion in 'Bukkit Help' started by JoshArgent, Apr 1, 2013.

Thread Status:
Not open for further replies.
  1. Offline

    JoshArgent

    This issue isn't to do with Pex or WorldGuard. I've tried some alternatives and although the funny timings have gone (I think that had something to do with Pex) the lag spikes of <10 TPS still come and go when the server is busy.

    It's not an entity issue because sometimes we can have 8000 entities and be at 20tps and other times have 6000 entities and be on 6tps.

    Are there any tools I can run to see if my world is corrupt?
    What else could cause this? I'm really needing someone's advice here! :(

    Bump

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 31, 2016
  2. Offline

    ShadowDog007

    Did you switch to spigot?

    Run timings again with it and link it here?
     
  3. Offline

    JoshArgent

    Here is a timings report while Spigot it running and the TPS is 8.8: http://aikar.co/timings.php?url=5682937

    Code:
    2013-04-06 09:35:07 [INFO] Robinson12[/79.133.19.122:64233] logged in with entity id 2597699 at ([world] 266728.49992859334, 64.0, 865788.5195998698)
    2013-04-06 09:35:08 [INFO] Disconnecting Robinson12 [/79.133.19.122:64233]: Internal server error
    2013-04-06 09:35:08 [WARNING] Failed to handle packet: java.lang.RuntimeException: Already decorating!!
    java.lang.RuntimeException: Already decorating!!
    at net.minecraft.server.v1_5_R2.BiomeDecorator.a(SourceFile:21)
    at net.minecraft.server.v1_5_R2.BiomeBase.a(SourceFile:217)
    at net.minecraft.server.v1_5_R2.BiomeJungle.a(SourceFile:48)
    at net.minecraft.server.v1_5_R2.ChunkProviderGenerate.getChunkAt(SourceFile:450)
    at org.bukkit.craftbukkit.v1_5_R2.generator.NormalChunkGenerator.getChunkAt(NormalChunkGenerator.java:49)
    at net.minecraft.server.v1_5_R2.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:227)
    at net.minecraft.server.v1_5_R2.Chunk.a(Chunk.java:800)
    at net.minecraft.server.v1_5_R2.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:143)
    at net.minecraft.server.v1_5_R2.PlayerChunk.<init>(PlayerChunk.java:24)
    at net.minecraft.server.v1_5_R2.PlayerChunkMap.a(PlayerChunkMap.java:69)
    at net.minecraft.server.v1_5_R2.PlayerChunkMap.addPlayer(PlayerChunkMap.java:112)
    at net.minecraft.server.v1_5_R2.PlayerList.a(PlayerList.java:169)
    at net.minecraft.server.v1_5_R2.PlayerList.c(PlayerList.java:219)
    at net.minecraft.server.v1_5_R2.PlayerList.a(PlayerList.java:100)
    at net.minecraft.server.v1_5_R2.PendingConnection.d(PendingConnection.java:134)
    at net.minecraft.server.v1_5_R2.PendingConnection.c(PendingConnection.java:49)
    at org.spigotmc.netty.NettyServerConnection.b(NettyServerConnection.java:71)
    at net.minecraft.server.v1_5_R2.MinecraftServer.r(MinecraftServer.java:582)
    at net.minecraft.server.v1_5_R2.DedicatedServer.r(DedicatedServer.java:229)
    at net.minecraft.server.v1_5_R2.MinecraftServer.q(MinecraftServer.java:471)
    at net.minecraft.server.v1_5_R2.MinecraftServer.run(MinecraftServer.java:403)
    at net.minecraft.server.v1_5_R2.ThreadServerApplication.run(SourceFile:573)
    2013-04-06 09:35:08 [INFO] olympus1294[/86.140.200.75:53030] logged in with entity id 2597700 at ([world_nether] 113415.50763015593, 92.0, 53153.69999998808)
    2013-04-06 09:35:08 [SEVERE] java.lang.RuntimeException: Already decorating!!
    2013-04-06 09:35:08 [SEVERE]at net.minecraft.server.v1_5_R2.BiomeDecorator.a(SourceFile:21)
    2013-04-06 09:35:08 [SEVERE]at net.minecraft.server.v1_5_R2.BiomeBase.a(SourceFile:217)
    2013-04-06 09:35:08 [SEVERE]at net.minecraft.server.v1_5_R2.BiomeJungle.a(SourceFile:48)
    2013-04-06 09:35:08 [SEVERE]at net.minecraft.server.v1_5_R2.ChunkProviderGenerate.getChunkAt(SourceFile:450)
    2013-04-06 09:35:08 [SEVERE]at org.bukkit.craftbukkit.v1_5_R2.generator.NormalChunkGenerator.getChunkAt(NormalChunkGenerator.java:49)
    2013-04-06 09:35:08 [SEVERE]at net.minecraft.server.v1_5_R2.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:227)
    2013-04-06 09:35:08 [SEVERE]at net.minecraft.server.v1_5_R2.Chunk.a(Chunk.java:792)
    2013-04-06 09:35:08 [SEVERE]at org.bukkit.craftbukkit.v1_5_R2.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:61)
    2013-04-06 09:35:08 [SEVERE]at org.bukkit.craftbukkit.v1_5_R2.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:13)
    2013-04-06 09:35:08 [SEVERE]at org.bukkit.craftbukkit.v1_5_R2.util.AsynchronousExecutor$Task.finish(AsynchronousExecutor.java:179)
    2013-04-06 09:35:08 [SEVERE]at org.bukkit.craftbukkit.v1_5_R2.util.AsynchronousExecutor.finishActive(AsynchronousExecutor.java:287)
    2013-04-06 09:35:08 [SEVERE]at org.bukkit.craftbukkit.v1_5_R2.chunkio.ChunkIOExecutor.tick(ChunkIOExecutor.java:30)
    2013-04-06 09:35:08 [SEVERE]at net.minecraft.server.v1_5_R2.MinecraftServer.r(MinecraftServer.java:517)
    2013-04-06 09:35:08 [SEVERE]at net.minecraft.server.v1_5_R2.DedicatedServer.r(DedicatedServer.java:229)
    2013-04-06 09:35:08 [SEVERE]at net.minecraft.server.v1_5_R2.MinecraftServer.q(MinecraftServer.java:471)
    2013-04-06 09:35:08 [SEVERE]at net.minecraft.server.v1_5_R2.MinecraftServer.run(MinecraftServer.java:403)
    2013-04-06 09:35:08 [SEVERE]at net.minecraft.server.v1_5_R2.ThreadServerApplication.run(SourceFile:573)
    2013-04-06 09:35:08 [SEVERE] Encountered an unexpected exception RuntimeException
    java.lang.RuntimeException: Already decorating!!
    at net.minecraft.server.v1_5_R2.BiomeDecorator.a(SourceFile:21)
    at net.minecraft.server.v1_5_R2.BiomeBase.a(SourceFile:217)
    at net.minecraft.server.v1_5_R2.BiomeJungle.a(SourceFile:48)
    at net.minecraft.server.v1_5_R2.ChunkProviderGenerate.getChunkAt(SourceFile:450)
    at org.bukkit.craftbukkit.v1_5_R2.generator.NormalChunkGenerator.getChunkAt(NormalChunkGenerator.java:49)
    at net.minecraft.server.v1_5_R2.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:227)
    at net.minecraft.server.v1_5_R2.Chunk.a(Chunk.java:792)
    at org.bukkit.craftbukkit.v1_5_R2.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:61)
    at org.bukkit.craftbukkit.v1_5_R2.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:13)
    at org.bukkit.craftbukkit.v1_5_R2.util.AsynchronousExecutor$Task.finish(AsynchronousExecutor.java:179)
    at org.bukkit.craftbukkit.v1_5_R2.util.AsynchronousExecutor.finishActive(AsynchronousExecutor.java:287)
    at org.bukkit.craftbukkit.v1_5_R2.chunkio.ChunkIOExecutor.tick(ChunkIOExecutor.java:30)
    at net.minecraft.server.v1_5_R2.MinecraftServer.r(MinecraftServer.java:517)
    at net.minecraft.server.v1_5_R2.DedicatedServer.r(DedicatedServer.java:229)
    at net.minecraft.server.v1_5_R2.MinecraftServer.q(MinecraftServer.java:471)
    at net.minecraft.server.v1_5_R2.MinecraftServer.run(MinecraftServer.java:403)
    at net.minecraft.server.v1_5_R2.ThreadServerApplication.run(SourceFile:573)
    2013-04-06 09:35:08 [SEVERE] This crash report has been saved to: /home/minecraft/multicraft/servers/server1/./crash-reports/crash-2013-04-06_09.35.08-server.txt
    
    Just got this error. Not sure if it's got anything to do with the lag. :/

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 31, 2016
  4. Offline

    Lubenica007

    Try to delete all player datas (players folder in world folder). If this will not help you then regenerate your world...
     
  5. Offline

    JoshArgent

    That will delete everyone's inventories though won't it?

    Bump. I really need a solution to this, it's been like this for weeks now! :(

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 31, 2016
  6. Offline

    Lubenica007

    Yes, but it will help maybe... Tell your players to put all items from inventory in chests and than do that. If this will not help you, then regeneratre your world.
     
  7. Offline

    ShadowDog007

    JoshArgent

    Don't delete your player data.

    Your server is managing to use on average about 108ms when dealing with player commands.
    Do you have any plugins which access a database of some kind?


    Another problem is ModReq. Taking 125ms to check for updates. change check-updates to false

    ModReq uses a database when players use commands.
    When you don't use MySQL it uses SQLite.
    Creating a connection with the DB file takes ~1.1ms.
    Adding a new ticket takes about 3.58ms.
    Those times are from a server running on a fast SSD as well...

    Not sure how it could get up to 108ms, but it could be part of the issue.

    You definitely need a plugin to limit how often players use commands, try removing ModReq as well.
     
  8. Offline

    JoshArgent

    Someone on the Spigot forums suggested that I removed ModReq but I'm still getting the lag. But VanillaWorld uses an externally hosted MySQL database to save player homes. Could that be causing the lag?

    Also I see that the 'doTickRest' for world is quite high. What does that do?
     
  9. Offline

    Jeyge

    doTickRest is a Spigot only catch-all meant to capture timings for those things that aren't currently captured by Bukkit. Here is the code for it:
    Code:java
    1.  
    2. this.timings.doTickRest.startTiming();
    3. this.methodProfiler.c("chunkSource");
    4. this.chunkProvider.unloadChunks();
    5. int j = a(1.0F);
    6.  
    7. if (j != this.j) {
    8. this.j = j;
    9. }
    10.  
    11. this.worldData.setTime(this.worldData.getTime() + 1L);
    12. this.worldData.setDayTime(this.worldData.getDayTime() + 1L);
    13. this.methodProfiler.c("tickPending");
    14. a(false);
    15. this.methodProfiler.c("tickTiles");
    16. g();
    17. this.methodProfiler.c("chunkMap");
    18. this.manager.flush();
    19. this.methodProfiler.c("village");
    20. this.villages.tick();
    21. this.siegeManager.a();
    22. this.methodProfiler.c("portalForcer");
    23. this.P.a(getTime());
    24. this.methodProfiler.b();
    25. Y();
    26.  
    27. getWorld().processChunkGC();
    28. this.timings.doTickRest.stopTiming();
    29.  

    I did see from your other thread that you now posted your server information. I don't think the FX-4100 is meant to be a server cpu. I'm sure it will run things fine but you would be better off with a true server CPU like one of the E series.
     
  10. Offline

    astroskillz

    Sounds more like your world is corrupt. Try to run Chunkster (Use it at your own risk tho, backups!)
     
  11. Offline

    JoshArgent

    I'm not familiar with the Spigot source. Is that something that could be causing lag?
    As for the processor surely it can manage 60 players, it should be much better than having a shared CPU.

    Where can I get Chunkster?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 31, 2016
  12. Offline

    astroskillz

    It's on the internet.
     
  13. Offline

    Jeyge

    If you already ran VoidChunk, you shouldn't have to continue to worry about your world being corrupt. Plus, you really don't have a lot of chunks loaded nor is a lot of your time devoted to dealing with chunks.
    The only parts of that code that are Spigot are the doTickRest.startTiming() and doTickRest.stopTiming(). As for the processor, it all depends on the hosting company. Some of them actually don't oversell their processing and we don't know if you've utilized the places you can use multiple processors.
     
  14. Offline

    JoshArgent

    Do you know what could be causing the lag between the doTickRest.startTiming() and doTickRest.stopTiming()?
     
  15. Offline

    Jeyge

    I don't believe that is causing the lag. I personally would focus on the first and third numbers.
     
  16. Offline

    JoshArgent

    Okay thanks. Tomorrow I'm going to introduce a plugin called CommandCooldown that will stop people from teleporting so much. I'm also going to set up an sql database actually on the server so that it doesn't have to get home data from an external host. :)
     
  17. Offline

    JoshArgent

    I'm still getting this awful lag. :(
     
Thread Status:
Not open for further replies.

Share This Page