servers = n-1
endar
Join Date: 2010-07-27 Member: 73256Members, Squad Five Blue
For the longest time, the amount of game servers you could run on a single physical box was n-1, where n=number of cores.
Quad core = 3
Hex core = 5
But now, with the change to how server.exe handles wait states, cpu usage has dropped! I just had a look at my current usage. I have 3 servers running
#1 is using about 22%
#2 is using about 15%
#3 is using about 15%
System idle is hanging quite happily around the 48-52% mark, with very occasional spikes. With this in mind, I am going to try launching a 4th server at the 18 player mark, in the hope that it only adds another 15%. I'll monitor and post feedback. Im curious if anyone else is considering doing the same.
Quad core = 3
Hex core = 5
But now, with the change to how server.exe handles wait states, cpu usage has dropped! I just had a look at my current usage. I have 3 servers running
#1 is using about 22%
#2 is using about 15%
#3 is using about 15%
System idle is hanging quite happily around the 48-52% mark, with very occasional spikes. With this in mind, I am going to try launching a 4th server at the 18 player mark, in the hope that it only adds another 15%. I'll monitor and post feedback. Im curious if anyone else is considering doing the same.
Comments
Thats not really the way a server op should calculate things like this. ;)
Those numbers I was giving were the following:
24/24 players: 22%
18/18 players: 15%
13/18 players: 15%
It would be stupid to overprovision server capacity for this game, at this stage, since quite often (especially in Australia at least), all servers are full and there are more players than server slots.
It will only get more skewed when the game actually releases, it would be a disaster to actually reach 100% cpu usage, and force tickrates to suffer due to having too many servers.
Last night I never actually saw all four servers fill up, had three of them full and one half full.
And as to locking a server to a single core, I still debate whether that any had benefit (except to prevent a bug from consuming too much cpu)>
As soon as the main thread uses almost the complete capacity of "the" one core and the other threads are also forced to share the same core, the server is crippled performance-wise, which is pretty logical. I have tested this many builds ago ...
If the core has enough capacity to handle all threads of the server without timing issues, it eventually could be beneficial since it could prevent the scheduler from wasting performance. But this is highly theoretical, since it would require perfect timing by the threads and the os-environment - and is also almost impossible.
I was thinking more of 3 public and 1 private server, such that you know the private server wouldn't be populated most of the time.
Back to 3 servers.