Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-71234

Severe performance issues with 1.8 server

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Resolution: Duplicate
    • Affects Version/s: Minecraft 1.8
    • Fix Version/s: None
    • Labels:
      None
    • Environment:
    • Confirmation Status:
      Unconfirmed

      Description

      First off, I should say the 1.7.10 server rant GREAT on my machine. From the moment I updated to the 1.8 server performance has been TERRIBLE. If I leave the tick watchdog at the default of 60 seconds I can't even reliably run the server with nobody connected. For example, here I started the server, nobody connected, and it died while idle a few minutes later:

      [07:03:30] [Server thread/INFO]: Starting minecraft server version 1.8
      [07:03:30] [Server thread/INFO]: Loading properties
      [07:03:31] [Server thread/INFO]: Default game type: SURVIVAL
      [07:03:31] [Server thread/INFO]: Generating keypair
      [07:03:32] [Server thread/INFO]: Starting Minecraft server on *:25565
      [07:03:33] [Server thread/INFO]: Preparing level "world"
      [07:03:33] [Server thread/INFO]: Preparing start region for level 0
      [07:03:43] [Server thread/INFO]: Preparing spawn area: 0%
      [07:03:44] [Server thread/INFO]: Preparing spawn area: 7%
      [07:03:45] [Server thread/INFO]: Preparing spawn area: 20%
      [07:03:48] [Server thread/INFO]: Preparing spawn area: 28%
      [07:03:49] [Server thread/INFO]: Preparing spawn area: 40%
      [07:03:51] [Server thread/INFO]: Preparing spawn area: 50%
      [07:03:52] [Server thread/INFO]: Preparing spawn area: 56%
      [07:03:53] [Server thread/INFO]: Preparing spawn area: 61%
      [07:03:54] [Server thread/INFO]: Preparing spawn area: 65%
      [07:03:55] [Server thread/INFO]: Preparing spawn area: 70%
      [07:03:56] [Server thread/INFO]: Preparing spawn area: 88%
      [07:03:56] [Server thread/INFO]: Done (23.750s)! For help, type "help" or "?"
      [07:04:18] [Server thread/WARN]: Can't keep up! Did the system time change, or is the server overloaded? Run
      ning 20171ms behind, skipping 403 tick(s)
      [07:04:32] [Server thread/WARN]: Can't keep up! Did the system time change, or is the server overloaded? Run
      ning 13589ms behind, skipping 271 tick(s)
      [07:05:56] [Server Watchdog/FATAL]: A single server tick took 60.00 seconds (should be max 0.05)
      [07:05:56] [Server Watchdog/FATAL]: Considering it to be crashed, server will forcibly shutdown.
      [07:05:57] [Server Watchdog/ERROR]: This crash report has been saved to: /home/minecraft/current_world/./cra
      sh-reports/crash-2014-09-06_07.05.57-server.txt
      [07:05:57] [Server Shutdown Thread/INFO]: Stopping server
      2014-09-06 07:05:57,885 ERROR Attempted to append to non-started appender File
      2014-09-06 07:05:57,887 ERROR Unable to write to stream logs/latest.log for appender File
      2014-09-06 07:05:57,889 ERROR An exception occurred processing Appender File org.apache.logging.log4j.core.a
      ppender.AppenderLoggingException: Error writing to RandomAccessFile logs/latest.log
      at org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.flush(RollingRandom
      AccessFileManager.java:109)
      at org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.write(RollingRandom
      AccessFileManager.java:90)
      at org.apache.logging.log4j.core.appender.OutputStreamManager.write(OutputStreamManager.java:129)
      at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAp
      pender.java:113)
      at org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender.append(RollingRandomAccess
      FileAppender.java:96)
      at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:99)
      at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:425)
      at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:406)
      at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:367)
      at org.apache.logging.log4j.core.Logger.log(Logger.java:110)
      at org.apache.logging.log4j.spi.AbstractLogger.info(AbstractLogger.java:1011)
      at net.minecraft.server.MinecraftServer.r(SourceFile:372)
      at pe.run(SourceFile:715)
      Caused by: java.io.IOException: Stream Closed
      at java.io.RandomAccessFile.writeBytes(Native Method)
      at java.io.RandomAccessFile.write(RandomAccessFile.java:508)
      at org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.flush(RollingRandomAccessFileManager.java:106)
      ... 12 more

      2014-09-06 07:05:58,016 ERROR Attempted to append to non-started appender ServerGuiConsole
      Exception in thread "Server Shutdown Thread" org.apache.logging.log4j.core.appender.AppenderLoggingException: Attempted to append to non-started appender ServerGuiConsole
      at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:89)
      at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:425)
      at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:406)
      at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:367)
      at org.apache.logging.log4j.core.Logger.log(Logger.java:110)
      at org.apache.logging.log4j.spi.AbstractLogger.info(AbstractLogger.java:1011)
      at net.minecraft.server.MinecraftServer.r(SourceFile:372)
      at pe.run(SourceFile:715)

      If I set max-tick-time to -1 the server runs but it can't keep up with normal gameplay. Blocks reaper after being broken and basic things like opening a door or a gate take minutes.

      The console logs show the "Can't keep up!" warnings:

      [05:53:02] User Authenticator #1/INFO: UUID of player bmenrigh is fd931d94-ee87-4b2d-b9c6-71ebe050f387
      [05:53:03] [Server thread/INFO]: bmenrigh[/24.6.173.186:46162] logged in with entity id 1658 at (-249649.545
      29494024, 102.0, 344.93664003493956)
      [05:53:03] [Server thread/INFO]: bmenrigh joined the game
      [05:55:10] [Server thread/WARN]: bmenrigh moved wrongly!
      [05:55:41] [Server thread/WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 161930ms behind, skipping 3238 tick(s)
      [05:55:47] [Server thread/WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 6331ms behind, skipping 126 tick(s)
      [05:56:52] [Server thread/WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 52925ms behind, skipping 1058 tick(s)
      [05:57:05] [Server thread/WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 13730ms behind, skipping 274 tick(s)
      [05:57:17] [Server thread/WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 8908ms behind, skipping 178 tick(s)
      [05:57:52] [Server thread/WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 22231ms behind, skipping 444 tick(s)

      I thought this might be related to the server regenerating ocean to check if it needs to add ocean monuments but there is no ocean near enough for those chunks to get loaded. I also tried flying around the area my player is in to give the server a chance to load and possibly update / convert any old chunks. None of that has had any effect on performance.

      I also thought the issue could be related to CPU time spent compressing network data so I've played around with setting the compression threshold from -1 to 255 to 1024 to 4096 to 16384 and none of those values have helped or had any effect on performance.

      I'd love to provide more details about where the server is spending all of its time but I think the F3 debug screen is all client-side performance. For what it's worth, the 1.8 client runs great on my machine. FPS is great and the client never lags.

      If there is some debugging or tracing mode I can put the server in I'd be happy to do so to gather useful data.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                bmenrigh Brandon Enright
              • Votes:
                1 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: