Web Hosting Talk







View Full Version : Game Server Load


torqhost
02-05-2008, 02:32 AM
Hello,

I was recently performing some tests with game servers and one thing struck me for which I was hoping someone has an explanation.
Basically it was a medium 2.4GHz Athlon 4000+ CPU (single core) with 2 GB of RAM, which was running a couple of cs 1.6 servers.
I decided to overload the server and ran unixbench on it, but there was no ping (game ping) degradation. The average load was 4+ on a single core CPU and all players were still getting 10 - 20 ms pings. Can anyone comment why is this? Why is CPU overload irrelevant for the ping?

Thanks

RN-Chris
02-05-2008, 09:32 AM
If I had to comment on this, I would say that while the player's ping's would not be affected. If you were actually playing the game, there would be severe stuttering and maybe a bit of rubber banding, however rubber banding is usually ping related.

I would have thought that the ping's would increase but you can at least expect a decent amount of stuttering. Did you try connecting to the servers and playing to test that?

Adam H
02-05-2008, 09:58 AM
Ping is the latency between the client and host, the distance the packets have to travel will not change if the server has a high load.

InfernoCP
02-05-2008, 12:57 PM
While the ping may not have changed at all, you may experience a higher rate of choke/loss with an overloaded server. The only way to see the real affect of it would be to log in and actually play the game.

With that said, with the load only at 4, you may not notice at all.

torqhost
02-05-2008, 02:36 PM
Well from my understanding this game ping is something different, than normal ping, as it is usually higher, then if you just ping the server.

There were some people on the server, they didn't say anything was lagging or anything, but there were only 5 people testing this server at the time.

What would you say the maximum acceptable load for a game server is? (if we take 1 core as reference and 1.00 avg load as maxed out). I am guessing it shouldn't be maxed out, but what is a reasonable %?

JohnJ
02-05-2008, 04:15 PM
Hello,

I was recently performing some tests with game servers and one thing struck me for which I was hoping someone has an explanation.
Basically it was a medium 2.4GHz Athlon 4000+ CPU (single core) with 2 GB of RAM, which was running a couple of cs 1.6 servers.
I decided to overload the server and ran unixbench on it, but there was no ping (game ping) degradation. The average load was 4+ on a single core CPU and all players were still getting 10 - 20 ms pings. Can anyone comment why is this? Why is CPU overload irrelevant for the ping?

Thanks

Pings don't always reflect performance. I have had a 23 ping in a server where I lagged like hell.

trevhub
02-05-2008, 05:32 PM
If the server is loaded, the "lag" that would be experience would not have anything to do with your ping, you would experience jitters that are caused by the cpu not using enough resources to run that server.
Think of it like any program, if I were to be running every Adobe program you can buy, on a Celeron with 128mb ram, every program would be very slow since there is not enough cpu or ram for every program to run. Same thing applies to a game server, the application is not able to communicate with it's hardware properly thus giving the user connected to it a horrible gaming experience.
I know others in the gsp market will have a more in depth answer for you to hear, but that's all of what I know. So basically, don't overload your server ;)

As other's said above, ping is not affected by the amount the server is loaded, it's simply the latency from your computer to the server.

Vinnybcfc
02-06-2008, 06:44 AM
Well from my understanding this game ping is something different, than normal ping, as it is usually higher, then if you just ping the server.

There were some people on the server, they didn't say anything was lagging or anything, but there were only 5 people testing this server at the time.

What would you say the maximum acceptable load for a game server is? (if we take 1 core as reference and 1.00 avg load as maxed out). I am guessing it shouldn't be maxed out, but what is a reasonable %?

This is your problem only 5 people were testing, nearly any server could have loads of servers idling and it wont affect the load much you just need the ram to hold them.

To give some examples on a server that I have tested:

A AMD 3800 X2 with 2GB of ram can hold just about 15 Source Servers on the ram (depends on server size, map and game)

You can run 14 idling servers with 1 running and the server will cope because the cpu is only being used on 1 server

Fill the others though and it will start to lag very badly as the cpu hits 100%

Both the ping and tickrate are affected although sometimes it is just the tickrate when you run out of cpu.

When you run out of ram generally everything kills itself as the hard disk is now being used for ram so ping, tickrate and lots of things will grind to a halt

torqhost
02-06-2008, 06:57 AM
Well, as I saw from my tests CPU usage of servers depends on what plugins are used (mods). One of the testers installed some kind of block maker plugin and the server started eating up 20% of that 2.4GHz cpu in idle (nobody connected) and up to 50% when people were there. On the other hand, another server with 10 people playing was using only 5%.

But if you are running 15 servers on that 3800+ dual core machine, that means they are running OK for you? Or do they lag? How many slots do you have there? I am just trying to get some perspective here to evaluate some kind of pricing model. The real machine I am going to use for production will be 2.4 GHz quad xeon with 4GB of RAM (or 8GB, still need to evaluate the CPU / RAM consumption and how they are related).

Vinnybcfc
02-06-2008, 09:19 AM
But if you are running 15 servers on that 3800+ dual core machine, that means they are running OK for you? Or do they lag? How many slots do you have there? I am just trying to get some perspective here to evaluate some kind of pricing model. The real machine I am going to use for production will be 2.4 GHz quad xeon with 4GB of RAM (or 8GB, still need to evaluate the CPU / RAM consumption and how they are related).

The 3800 is just a test server not a production or live server. I was just using it as an example - It is a terrible machine (AMD 3800) for game servers not enough cpu power.

You have to work out the ratio of cpu to ram for your servers and it will vary depending on what tickrate you are running and other factors.

Generally on a Core 2 system you need at least 1GB per core

Edit:

Old Netburst Xeon or Core 2 Xeon, I am assuming it is the Conroe one.

4GB to 6GB of ram should be enough for SRCDS, I cant really comment on other games haven't run enough of them.

8GB would be a bit overkill for 2.4ghz, for 3ghz+ it is needed.

Adam H
02-06-2008, 10:38 AM
Fill the others though and it will start to lag very badly as the cpu hits 100%

Isn't that overselling?

torqhost
02-06-2008, 10:53 AM
Well yes it is, but we are not overselling anything here, just discussing the load. I am not planning to do any overselling and it is also questionable whether I would be selling game servers at all (due to target audience of children and all business hassles related to this).

Vinnybcfc
02-06-2008, 10:56 AM
Isn't that overselling?

Yes if I had used that test server for selling

But no the server I was talking about wasnt a server that customers went on

Vinnybcfc
02-06-2008, 10:59 AM
(due to target audience of children and all business hassles related to this).

This is a bit of a myth, 70% to 80% of my clients were over 16 as I dealt with leagues rather than advertising traditionally.

Although this may be the difference between the UK market and US market.

torqhost
02-20-2008, 02:14 AM
I have been testing this server further and asked more people to just connect and play, but noticed an interesting thing:
The game servers (I run 3 for testing) produce very low CPU% usage, say when 10 people are connected it get's to about 10% CPU load, but the load average is well above 1.00 (I use single core for tests). Do you maybe have some reason for this happening? Just curious, as normally this would be die to io wait, but on this server the io wait is at 0 also.
Bottom line is now I have io wait at 0 and total cpu% I can count for 3 servers is 15% or less, but average load is 1.00+. Maybe I am doing something wrong?

Vinnybcfc
02-20-2008, 08:13 AM
I have been testing this server further and asked more people to just connect and play, but noticed an interesting thing:
The game servers (I run 3 for testing) produce very low CPU% usage, say when 10 people are connected it get's to about 10% CPU load, but the load average is well above 1.00 (I use single core for tests). Do you maybe have some reason for this happening? Just curious, as normally this would be die to io wait, but on this server the io wait is at 0 also.
Bottom line is now I have io wait at 0 and total cpu% I can count for 3 servers is 15% or less, but average load is 1.00+. Maybe I am doing something wrong?

I havent had a Linux server for a few months now so I cant remember how the load figure works exactly,

If the cpu and ram are below 100% then generally the server is happy and will chuck out the correct tickrate etc.

What are the users saying? Are they happy with registration of hits and the smoothness of the server? If they are then you dont have a lot to worry about.

torqhost
02-21-2008, 09:19 AM
Well, the cpu and ram are well below limits. The system load, however exceeds the number it should be for this kind of hardware, this is what is causing my concerns.

The users don't notice anything and they are happy because I have given them a free server :).
Someone on the other forum suggested this load could be due to momentary cpu usage spikes, that cannot be seen using the top application. Do you notice spikes on windows?

Adam H
02-21-2008, 10:14 AM
Well, the cpu and ram are well below limits. The system load, however exceeds the number it should be for this kind of hardware, this is what is causing my concerns.

The users don't notice anything and they are happy because I have given them a free server :).
Someone on the other forum suggested this load could be due to momentary cpu usage spikes, that cannot be seen using the top application. Do you notice spikes on windows?

Try a script like Munin Service Monitor that generates graphs of system resources. You should be able to link up the times users say the lag happens.

DediShack
02-21-2008, 06:53 PM
How about recompiling your kernel to make it perform better? Or if you don't fancy doing that, setup cacti and graph the CPU useage.

torqhost
02-22-2008, 01:46 AM
Yes, I wish to monitor the issues, but both those tools are web based. Isn't it a bad idea to install web servers on a game server machine. I know this one is for testing and I will do that, but I mean in the real world? All kinds of other servers will seriously slow down the game server, or am I wrong here?

DediShack
02-22-2008, 07:43 AM
Well, you'd only install them for a short period of time so you can investigate and hopefully find out what's causing the issue.

Once you've done that, it'll be fine to remove them - theres no need to keep them once you've installed! ;)

torqhost
02-27-2008, 11:03 AM
I found an interesting article about load avg and what it means:

http://www.teamquest.com/resources/gunther/display/5/index.htm

this is worth a read.

Bottom line here is that I should be using at cpu idle % remaining in my case, as load avg doesn't really judge system load.

Defcon|Rich
02-27-2008, 06:45 PM
There are several variables that dictate a good performing server. Ping shouldn't really be used as a reference point in my opinion as it's a very basic test to show how far away you are to the server.

Personally I've played with -30 ping on servers on sub par networks and suffered terrible play but also experienced very stable play on decent networks pinging 100+ so ping is not always king given the right circumstances.

You might check the services running on the machine as a start. Most dedicated providers tend to do default installs with tons of services running. The random spikes you mention suggest possibly a DB server or some type of stats generator which would behave like what you describe.

torqhost
02-28-2008, 11:31 AM
hmm, could you name a few things I should look for to view in-game server performance. I mean high ping is clear: people a jumping around and you cannot see them. How about some artefacts to look for when a server is overloaded. I am not a gamer, so don't know what to look for. All players claim, that the server is running great, so not sure...

InfiniteTech
02-28-2008, 04:43 PM
Like someone said in the 3rd or 4th post. Distance between 2 places, mainly caused due to the routers in between.