micheal65536 wrote:It appears to me, by the way, that there is a bug in the LBM/node timer version (at least the one that I saw) where there is an ABM <--snip-->
There are no ABM's used in our hoppers mod. It's the only reason I broke away from Tenplus1's version. Our timers are started with LBM, then they restart themselves after each run.
When profiling, Hoppers show very little in the results. As you know there are some VERY large hopper farms out there. And many of them. So even though the profiler isn't seeing the load, it has to be somewhere. Each node fires several times a second (at least 2), the code is looking for neighboring hoppers, side_hoppers, and several chestlike nodes. It's also looking above for dropped entities to pull into it. Each node it finds, it's comparing the found nodes inventory, to it's own and transferring and comparing again. This shows up in perf top as heavy and constant deserialization. So I disabled hoppers to see if it increased performance. I didn't remove the mod as I didn't want players to be concerned with massive farms of unkown nodes, or unknown knodes in the inventory.
As it turns out, there didn't seem to be any improvement with the hoppers disabled. I continue to test and make changes and choose to keep whatever overhead hoppers contributes OFF so it doesn't muck up whatever data I'm able to collect.
The hoppers will be back. The timers will likely fire a bit slower, and likely with a random time to insure they aren't all firing at the same moment.
This lag does not occur at my dev server, running 100% the exact mods, code, minetest and database (and machine) as the regular server.
It also doesn't seem to occur until we have at least 8-10 players on. I can't create that kind of load on the dev server so I'm forced to test on the live server (which I'm not a fan of). I also have to consider ihrFussels discovery that somehow "some" clients can hang a server during the duration of their login. I've yet to find the common denominator. And I've been watching heavily and logging extra data even heavier.
And yeah... I've been ingame building road, lot's of road. My tool involves constant and fast clicking. It depends on a response from the server so I can feel how often the lag occurs, and how long the delay is. It's painful.
But even still... There is enough road down that you can now drive a minecart from the Southern map edge, to the Northern map edge. That's a lot of tool clicking.