Quote:
Originally Posted by peterigz
Hello, regarding the lag issues with some Windows Platforms ( http://www.eqemulator.org/forums/showthread.php?t=42311), it looks like for some reason Windows Server tripped up over itself when using LibUV in a while loop with UV_RUN_NOWAIT and is much happier with UV_RUN_DEFAULT. Here's the commit: https://github.com/peterigz/Server/c...d9354b846bddb0
Currently running this on The Hidden Forest and all lag issues have now been resolved, 18 would lag heavily for us and drop clients, so far we've had 50+ in zone with no problem, hopefully we can stress test with more soon but either way it's way better then it was.
I'll give it some more time in case any other issues arise, then I can do a pull request. I can't check Linux, maybe someone can build on that platform to see if all still ok there, can't see any reason why not.
|
Hey Peter!
Thanks for investigating into this, it is always appreciated when people take initiative to improve the codebase for the community
The UV library definitely polls the underlying systems differently for each platform so it would make sense that this would cause the symptoms that we've been seeing to some degree on the Windows platform
The reason why the sleeps were in place is because KLS was still going through refactoring at the time and they can probably be removed
As far as testing this, I'd like to see other populated Windows servers give this a test and then test it on a branch via PEQ and I see no reason to at least run the loop with the default mode set which is what we should be doing anyways but for the former reasons mentioned; KLS left it as is for the time being.
I know you mentioned that it seemed to have worked after your changes, but we had also had confirmed fixes with Windows servers of over 100 people in a zone and then eventually someone runs into the symptoms again. So to be sure this is what we were looking into I'd just want a few others to validate that
I think most servers 30+ (subtract p99) are on Linux currently so not sure who could test currently, but either way they can report their findings here and we can go from there
Nice find!