This site works best with JavaScript enabled. Please enable JavaScript to get the best experience from this site.
This plugin is causing my server to lag extremely bad, this is my timings after only 5 minutes of uptime
StatsAndAchievements v1.10 PlayerJoinEvent Time: 3966790143 Count: 86 Avg: 46125466 EntityDeathEvent (and others) Time: 289717724 Count: 1445 Avg: 200496 PlayerInteractEvent Time: 336635922 Count: 13807 Avg: 24381 PlayerCommandPreprocessEvent Time: 7303090 Count: 197 Avg: 37071 PlayerPickupItemEvent Time: 10221611 Count: 189 Avg: 54082 PlayerQuitEvent Time: 2089455721 Count: 32 Avg: 65295491 EntityDamageEvent (and others) Time: 14457349189 Count: 51714 Avg: 279563 PlayerTeleportEvent Time: 27929602 Count: 761 Avg: 36701 PlayerDropItemEvent Time: 2896031 Count: 58 Avg: 49931 Total time 21188299033 (21s)
I have everything disabled except for player and entity logging.
After about 12 hours of uptime it brings my server down to 10tps. When I disable it, it comes back up to 20tps.
How much players online?
90 - 120
Mh.. The runtimes are unusual high.. For the first i suggest to disable entityStats (deaths, kills, ..). This is possible in the newest beta ( http://dev.bukkit.org/server-mods/saaplugin/files/19-stats-and-achievements-1-10-snapshot/ ), search for "entityStats: true" and set it fo false in the config file.
I'll try to improve the performance for this..
Please respond back if it helps.
@ManiacTwister: Go
If I disable the entity stats my players will not get rewards for kills of mobs correct? Because that is what I mainly use this plugin for.
I'm getting a similar situation with only 10 people online. I noticed it's heavily lagging my main thread and I have also checked your code, and I hope you dont mind me making a suggestion?
Create a DB query wrapper which calls "plugin.database.query()" from an Async task. Something similar to:
public Map<String,Object> dbquery(String query, Object vars) { Bukkit.getServer().getScheduler().runTaskAsynchronously(plugin, new Runnable() { @Override public void run() { return plugin.database.query(query, vars); } }); }
Then just use this method everywhere you would normally called "plugin.database.query()". I have used this method previously and as far as I'm aware, sql connection objects are thread safe. This would take a HUGE load off the main thread and keep it running smooth.
To post a comment, please login or register a new account.