Page 1 of 1

Stress test

PostPosted: Wed Nov 26, 2014 5:59 am
by Viper
Stress test

One of the main problematic in server development, is the support of the workload. Having a twice more powerful engine will not necessarily mean it can support double the amount of players.
When a wow realm lags, it doesn't mean that the engine is running at full capacity. In fact, most of the time, it is not the case. What happens on the processor's side? Some cores are used at 100% of their capacity, while others are inactive. Indeed, the main difficulty is to adapt to the multi core architecture of the latest engines, and to equally split the workload between all the processors equally. This distribution is not easy, and can even cause crashes in certain conditions (if two threads manipulate the same objects).

Often, servers realise too late the challenge this represents. They then try to determine the origin of the lags, and somehow try to go through all this process. As a result, lags can last several years before a satisfying solution is found (without crashes or side-effects).

To avoid these problems, we focused, (since the very beginning of our work), on this issue. In parallel, as we were working on this, we developed tools to test the general performances of our realm in some extreme cases : connection of over 5000 players simultaneously, having thousands of players in the same area... This isn't enough to reproduce actual conditions, and we wanted to push to their very limits the most demanding systems : spells management, auras, movement via pathfinding... This video shows you some of the tests we made.

Our modifications lead to a drastic improvement of gaming experience under extreme conditions. When a "basic" MaNGOS realm would lag with over 1000 online players or with 300 of them gathered in a small area like Gurubashi Arena (~ 1 second of lag), we managed to push these limits way further.