-
Notifications
You must be signed in to change notification settings - Fork 77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
High update diff on MapMgr #1402
Comments
this long time, or some time ago? don't remember any big changes for CPU use last year... |
PS what your visibility radiuses in config? |
3-4 weeks ago. But now more players than month ago, so source possible older. Visibility.GroupMode = 0 |
may be new mmap quality? try disable. |
How? Disabling whole mmaps? |
no, tempdelete mmap files from one map (with max lags) and see on result. |
Mmmmm seems to be related to Spell System. Getting back MaxSpellCastInChain to 25 seems to decrease load significatly, so possible some spells with endless trigger castings. U.u |
possible... need string with this limitation from your logs. |
Getting back to mmaps checks, still high MapMgr with high population. Is not the same adding maps ids to mmap.ignoreMapIds config param than delete mmap files from folder? |
same,but not requires config reload. |
Confirmed, mmaps issue. Good performance with mmaps = 0 |
mmaps requires many CPU time as intenended. possible solution - 1. lower MMAP quality (as before last changes) 2. increase the parallelization of the processing (currently i'm try this). |
…ept VMSS), add templated class for possibility continue parallilize tasks. testing (no any changes must be currently). need check compile under win. related to #1402 and some more old.
MTMMAP :D |
…sibility continue parallilize tasks. testing (no any changes must be currently). need check compile under win. Ready for testing. related to #1402 and some more old.
…ossibility continue parallilize tasks. testing (no any changes must be currently). need check compile under win. Ready for testing. related to #1402 and some more old.
…ossibility continue parallilize tasks. testing (no any changes must be currently). need check compile under win. Ready for testing. related to #1402 and some more old. - also some rework in VMSS (to be continued) - statistic passed to template (hooks)
…ossibility continue parallilize tasks. testing (no any changes must be currently). need check compile under win. Ready for testing. related to #1402 and some more old. - also some rework in VMSS (to be continued) - statistic passed to template (hooks)
Seems as without mmaps load decreased (Obviously, less cpu resources needed) but still high update diff in MapMgr, so possible not related to changes in mmaps. Let's continue with work on paralelizing but please, check cause on other possible places. Thank you! |
no. "softIRQ" not related to user task (like mangos) always, and indicate very high rate of IO operations, maked by kernel. this - file IO, network IO. |
…ass for possibility continue parallilize tasks (no any changes must be currently). need check compile under win. related to #1402 and some more old. - also some rework in VMSS (to be continued) - statistic passed to template (hooks)
Without [mr2958] ab430e0, [mr2959] 366282a, [mr2960] f372ae0, [mr2956] 4e83d6e Some crashes: In Map::SendObjectUpdates: http://pastebin.com/uLaM3B5c In Map::FindObject: http://pastebin.com/mBjEC2QD |
first - please, point me to src/game/Map.cpp:2219 in your source, |
|
Till [mr2957] stable. Singleton locks seems to cause freezes. MapPersistentSate cycle test in progress. |
use singleton locks instead of manual not must cause any freezes (in theory :). but this may identify weaknesses in the code |
Please, check possible weaknesses. If MapPersistentState changes stable, i'll continue testing with "Null locking in ObjectAccessor" and then back to singleton locks. "lock in BuildObjectUpdates" also under testing, hopefully no issues here, and other crash fixed. Thank you. |
Notice weird behaviour, more players == stable. Less players == unstable. I'm having crashes from 9:00 am to 15:00 pm and then nothing... if server crash during stable period, it'll be crashing till next load peak. |
VMSS make output in regular logfile. first dump - normal crush (must be correct handled by VMSS), second - broken (no point for search). |
Possible source of HighUpdateDiff on MapMgr in: SpellCastResult Spell::CheckCast(bool strict) caused by taking too long grid searchers due to "[mr2858] Fix searching for nearest creatures/gameobjects". This the last possible source since is not a mmaps issue and not MaxSpellCastInChain. I revert this commit and i'll be test performance on next hours. |
thx. possible need some simplify in grid search. |
Just a little bit faster (50-70ms), but low diff still needed! :( |
http://pastebin.com/m3wnDbcZ Heavily unstable with MapPtrs... also false freezes detect. vmap.Dynamic.DoubleCheck disabled for now, till less update diff. |
Question: You know why sWorld.Update(diff); in WorldRunnable::run() loop start with ~50ms of diff? |
Answer: #define WORLD_SLEEP_CONST 50 XD Forget the question! |
As i understand MapMgr diff == Map.UpdateThread with highest Update() time, right? And till all MapUpdateThreads complete its Update() cycle, World::Update does not continue. Am i right? |
right, but not full - diff NOT LESS then higest map update time (thread may work with some small maps before 571 update). also currently world thread may continue - guard timer implemented, but only 2-3 times :) |
- re-add freeze VMSS operation on current code base (check config settings for avoid false-freeze!). testing. - use internal semaphore to synch condition broadcast need testing with disabled freeze detection
Since couple of weeks ago, i notice a MapMgr load some ticks good 50-200ms and others significantly high, 400 - 700 ms. Is possible any improvement to speedup something on MapMgr to avoid "server delay"?
P.D: vmap.Dynamic.DoubleCheck = 0 and 1000 ppl
The text was updated successfully, but these errors were encountered: