Development of Manasource and anything else related to the Mana Project.
#134277 by Ablu
Sat May 11, 2013 3:28 pm
Hi,

I thought a bit about how to control the load of the server later and finding a way to check if the server suffers from too less cpu cycles for example. So I got the idea to maybe store how long the server slept between the last ticks. So admins could check the averange "sleeping time" (if it is positive = good, around 0 is starting to turn into a problem and below 0 would be really bad then. Of course we can check the cpu usage of the process. But i think the sleep time could give a more detailed view.

I wonder if this could be helpful / interesting to know. It might also help to find updates which cause performance issues if you keep track of this load value regulary and compare it with the current load.

Regards,
Ablu
#134280 by Ablu
Sat May 11, 2013 3:56 pm
o11c wrote:Or you could just cat /proc/loadavg like normal people ...

As i said before, of course values like cpu usage of the process (well or combined stuff like the load value of the system) can be used for this stuff too. But especially the load value is rather vague. It might give you a good idea about how well the whole server works. But the time between the ticks of manaserv gives you a real value where you know what it means. The load value will not help you a lot if you want to know if the server is on the limit.

Regards,
Ablu
#134281 by o11c
Sat May 11, 2013 4:00 pm
But it's highly unlikely that any delayed tick will be significant in the presence of network latency, unless the loadavg is above 1.
#134282 by Ablu
Sat May 11, 2013 4:03 pm
o11c wrote:But it's highly unlikely that any delayed tick will be significant in the presence of network latency, unless the loadavg is above 1.

Well you can at least see how far away you are from that then.
#134290 by atheros
Sun May 12, 2013 4:45 am
Ablu, don't listen to him. Knowing how long the gameloop takes to execute is actually important, and as you noticed, knowing the interval between them is also very important, as it's the best indicator of how well or bad the server is doing.
#134295 by Ablu
Sun May 12, 2013 5:45 am
atheros wrote:Also issuing warnings when the interval goes down too low and errors when it drops to zero can also be helpfull

Well i do not think we need to implement this into manaserv directly. I think manaserv can just log the thing into a database and an external tool can check this data.
#134301 by Frost
Sun May 12, 2013 4:07 pm
The back end of this donkey looks very different than the front.

What do you actually want to measure? Performance metrics on the server? User experience? Limiting resources?
#134302 by Ablu
Sun May 12, 2013 5:20 pm
Frost wrote:What do you actually want to measure? Performance metrics on the server? User experience? Limiting resources?


I want to measure how well the server performes. The most simple way which came into my mind was to keep track of the sleeping time. We could even check this in the scripts and for example start to use a simpler mob ai if the value drops too low.

Even if the server starts to get overloaded you would not see this reliable on the cpu usage for example. The server would simply skip ticks (well he warns about this in the logs... but checking those is rather painful i guess).

Regards,
Ablu
#134303 by Sanity
Sun May 12, 2013 5:53 pm
Ablu wrote:
Sanity wrote:see https://perf.wiki.kernel.org/index.php/Main_Page

Could you tell us how to use this to get the info we want?

Regards,
Ablu


I am still not quite sure what specific piece of data you are looking for, but for starters might run this example and see if it produces anything useful? https://perf.wiki.kernel.org/index.php/ ... h_perf_top
#134304 by Ablu
Sun May 12, 2013 6:10 pm
Sanity wrote:I am still not quite sure what specific piece of data you are looking for.


Sorry. I do not know how to explain this better than in my first post.

I want to sum up the time the game server sleeps (lets say per minute). So if the server would not do anything at all we would have a maximum of 100ms sleeping time per tick. If the server is under heavy load (lets say it needs 150ms to calculate a frame) we would have -50 per frame (negative value -> bad).

Regards,
Ablu

Who is online

Users browsing this forum: No registered users and 1 guest