[INACTIVE][MECH] PerformanceTweaks v0.08 - Disc Usage Minimizer, And More [818]

Discussion in 'Inactive/Unsupported Plugins' started by LexManos, May 3, 2011.

  1. Offline

    LexManos

    PerformanceTweaks - Disc Usage minimizer, And Other performance tweaks
    Version: v0.08

    AutoSave Stopper:
    Instead of writing every chunk to the disc every 2 seconds. This changes it to 30 mins.
    This saves the server from writing about 9KBps to the disc (7 writes, 2 reads per chunk, on a 3 person server).
    As well as saves about 2 calls to deflate every 2 seconds. (per chunk)

    Chunk Persistance:
    Change how long chunks will stay loaded into RAM, instead of unloading instantly when not used. This way naturally high traffic areas will stay loaded, yet areas that someone was just passing through will unload after some time. This means you need SOME extra RAM but that extra RAM will actually give you a boost in performance while reducing the amount of reading and writing needed for the disk. Win-Win. This part can be disabled via the config file.

    Monster Limiter:
    The Monster limiter will disabled 'natural' monster spawning when the number of monster gets above the max threshold. Then it will re-enabled it when the monsters get below the threshold - 100. Note: Monsters spawn in groups so this is a rough threshold. The limit can be set in the configuration. You can also completely disable this there as well. Let me know how this works out for you.

    Features:
    • Massively reduces needless disc usage
    • Chunks stay in RAM longer
    Download wget friendly
    Download Source Here
    Donation Link[​IMG]

    If you have any other ideas let me know I can look into if they are feasible or not.
    60 Seconds Without the plugin on a idle server:
    [​IMG]
    Average Disc Traffic: 1041Bps
    60 Seconds With the plugin on as idle server:
    [​IMG]
    Average Disc Traffic: ... none.

    Changelog:

    Verion 0.08:
    • Updated to MC 1.6.6 RB 813
    Version 0.07:
    • /save-all now forces saving player data as well. Thanks PhantomGamers
    • Fixed NPE on Disable/Reload when MonsterLimiter was disabled. Thanks the like.. 60 of you who repeatidly reported it u.u
    • Added Perliminary Miltiverse world specific Monster Limiter configuration. Please test
    • -Changed MonsterLimiter config to yml.
    • Potential fix for a NPE in Chunk Persistance.run
    • Temporary fix for a Concurancy exception in MonsterLimiter.run();
    Version 0.06:
    • Re-wrote how monster Limiter works
    • --Added config option for allowing animals/monsters separately.
    • --Added a monitor thread, to catch edge cases where EntityDeath doesn't fire.
    • Changed how Persistent Chunks refreshing works, lowering the CPU impact.
    Version 0.05:
    • Changed how Chunk persistence works.
    • -Should get rid of any and all concurrency errors. Chunks are now unloaded by Bukkit itself in doTick()
    • -It will not try to unload spawn chunks any more.
    • -Chunks are new 'refreshed' when players move.
    • Added the /ptml command for debug info.
    Version 0.04
    • Added Monster Limiter
    Verions 0.03
    • Added Chunk Persistance
    Version 0.02
    • Added Configuration
    Version 0.01
    • First Release
     
    lemachinbidule, omnija, nacs and 13 others like this.
  2. Offline

    ionbasa

    Going to test this now on my 35+ family and friends server. at peak we have about 23 people logged in during the weekend, and sometimes a lot more when we organize events between us. I will post some disk usage stats hopefully this Sunday.

    One suggestion I would like to bring up is possibly have a configurable way that chunks load, ex: have a really populated area have the chunks cached for faster access preferably to RAM or external USB flash drive! Idea!
     
  3. Offline

    RaCooN

    Nice plug-in! I hope something like this will also be added to the bukkit source, just to make disk usage less for everybody who uses Bukkit, not only those who use this plugin. Also, as previously suggested, making a config file to adjust it more to your personal needs would be nice e.g. change the 30 minutes to xx minutes.
     
  4. Offline

    Rowtag

    Very Nice, performance plugins are also important! :)

    Please add Configurable save Time.
     
  5. Offline

    Procrastination

    ....


    The time it saves does not affect anything.
     
  6. Offline

    Kainzo

    yeah... I like the concept of this - but it seems to be a placebo effect, ill run more tests.
     
  7. Offline

    sympnotic

    My OCDs are thanking this plugin for what it can do to preserve my HDD :)
     
  8. Offline

    ray landers

    i like this plugin very much and would like the configurable time feature added.
    just a plain text file please.
     
  9. Offline

    LexManos

  10. Offline

    blindsarcasm

    This is BLOODY amazing. Increased server capacity by 3x! WOW! Thank You! This should be default.
     
  11. Offline

    PhantomGamers

    Love this, sounds amazing.
    Going to start using this, want to squeeze as much juice out of my server as possible.

    Now, I know I say this a lot, but it is quite important to me and I'm sure a lot of people:
    It would be neat if you were to add an automatic config file generation to the jar, and then just have the download link as a static Dropbox jar link... then put the file on CraftBukkitUpToDate.
    http://forums.bukkit.org/threads/ad...keep-your-server-plugins-up-to-date-740.5026/

    Like to make sure all of my plugins are up to date, :p

    Also, does this actually have any affect if you play with Save-Off?
     
  12. Offline

    LeGenDaryX

    I installed this plugin on my server. And normally i have this.. Server Can't keep up issue.

    Now NOT! works great.
    The only moment i have the Can't Keep Up issue.. is when it saves every 30 minutes Just for a 30 seconds or something!

    Thanks for this! :cool:
     
  13. Offline

    dirkson

    Can we get a wget-friendly url? I don't have the spare bandwidth to be downloading everything and home and then uploading it to the server myself.
     
  14. Offline

    LexManos

    Tell me if this works: http://dl.dropbox.com/u/28221422/PerformanceTweaks.jar
    Im also trying to figure out if DB can count the number of downloads something gets as its a guilty pleasure of mine to watch the download counter :p

    Also, the plugin already DOES make the settings file if it isnt there.

    @blindsarcasem: Was that sarcasem or what? If not whats your server specs/average load im interested in seeing?
    @LeGenDaryX: Same for you, whats your server specs Im curious.

    @Phantomgamers: What is save-off? If its a plugin can you provide a link please?
     
  15. Offline

    sean.m.rice

    @LexManos - that link is wget friendly, works like a champ.
     
  16. Offline

    LeGenDaryX

    My server specs are:

    Windows 7
    Athlon 64bit 2,2ghz (rated 3500+)
    3gb ram.

    Average load i dont know.. gues around 30 to 80 depens on how many people there are.

    Anything else you should know? :p
     
  17. Offline

    Dangazzm

    This is being added as we speak. After some testing this will basically do a few things....

    Have a config file line that you can change how long chunks will stay loaded into RAM, instead of unloading when not used. This way naturally high traffic areas will stay loaded, yet areas that someone was just passing through will unload after some time. This means you need SOME extra RAM but that extra RAM will actually give you a boost in performance while reducing the amount of reading and writing needed for the disk. Win-Win.
     
  18. Offline

    dirkson

    Yup, that works fine. And got the plugin installed. Not sure if it's helping or harming lag, just at the moment - We're on an SSD, so our disk IO isn't as bottlenecked as most.
     
  19. Offline

    Zalastri

    Someone's asking for hardware failure.
     
  20. Offline

    PhantomGamers


    It's a console command... turns off the autosave.
    And that's essentially what this does? Except instead of completely disabling it, it just delays the saving to every specified time?
     
  21. Offline

    LexManos

    Version: 0.03:
    • Added Chunk Persistance
    Download Here
    Download Source Here

    Have a config file line that you can change how long chunks will stay loaded into RAM, instead of unloading when not used. This way naturally high traffic areas will stay loaded, yet areas that someone was just passing through will unload after some time. This means you need SOME extra RAM but that extra RAM will actually give you a boost in performance while reducing the amount of reading and writing needed for the disk. Win-Win. This part can be disabled via the config file.
    (<3 Dan)

    I also looked into save-off. If you use that command, ALL saving will be disabled, unless a Auto-save plugin is configured to re-enabled it, not even they will be able to save.
    So, does that answer your question?
     
  22. Offline

    silentdojo

    Working pretty good so far. CB RB 740.
    Cept for this error:
    Code:
    06:42:26 [SEVERE] java.util.ConcurrentModificationException
    06:42:26 [SEVERE]       at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
    06:42:26 [SEVERE]       at java.util.ArrayList$Itr.next(Unknown Source)
    06:42:26 [SEVERE]       at net.minecraft.server.ChunkLoader.a(SourceFile:127)
    06:42:26 [SEVERE]       at net.minecraft.server.ChunkRegionLoader.a(SourceFile:62)
    06:42:26 [SEVERE]       at net.minecraft.server.ChunkProviderServer.saveChunk(ChunkProviderServer.java:160)
    06:42:26 [SEVERE]       at org.bukkit.craftbukkit.CraftWorld.unloadChunk(CraftWorld.java:150)
    06:42:26 [SEVERE]       at org.jbls.LexManos.ChunkPersistance.run(ChunkPersistance.java:91)
    06:42:26 [SEVERE]       at java.lang.Thread.run(Unknown Source)
    
     
  23. Offline

    DJ_Idol

    Thanks, gonna check this out :)

    Also, I'd suggest updating the OP with the current version and download link, as some people may not think to look at the last page for the latest version.
     
  24. Offline

    Dangazzm

    Hmm, this isn't happening for me and I'm running 740. Hopefully LexManos has the answers hehe.

    Its being updated as we speak.
     
  25. Offline

    LexManos

    Ah, that is a odd error, it appears that it has something to do with an entity dieing the exact same time MC saves the chunk... Odd, shouldn't happen to often though, and it still saves everything properly.
    Anyways,

    The Monster limiter will disabled 'natural' monster spawning when the number of monster gets above the max threshold. Then it will re-enabled it when the monsters get below the threshold - 100. Note: Monsters spawn in groups so this is a rough threshold.

    Version 0.04:
    • Added Monster Limiter
    Download Here
    Download Source Here

    I also added a donate link to the main post. Hint Hint :p

    Also, I am updating the OP with the current version shortly after I post about it. So the OP has the latest version at all times.
     
  26. Offline

    silentdojo

    Awesome been waiting for a good plugin to do this.

    Also that error I got was only once in a 24 hour period. TY for the quick response.
     
  27. Offline

    LexManos

    Ya I wouldn't worry about it, in the next version i'll add something to eat that error. It has to with the fact that NOTHING inside minecraft itself is thread safe Cuz Notch is lazy.
    But it doesn't effect anything. Also, nice avatar :p
     
  28. Offline

    Marine436

    will try this, excited about the concept
     
  29. Offline

    godsyn

    Suggestion: add a version notice to the start/reload/stop of the server as every other plugin does.
    EG:
    change to:
    And add a note on disable. EG:
    Edit: minor typos:
    Suggested rewording:
     
  30. Offline

    svict4

    Kudos to you sir! Works like a charm :D
     
  31. Offline

    blutherz

    this is great is can also be named "FAR FAR view plugin! now i can make better youtube movies of Minecraft with far views
     

Share This Page