Everyone,

I've put together some tips and notes for server performance with Red
Orchestra 2. Please read this if you are hosting a server for the game, as
there is some very important information here.

Windows 2008 R2 Only

- This is a big one. In the power settings there are two options "Balanced"
and "High Performance". I believe 2008 defaults to "Balanced", but the
server will run poorly like this. You must set this to "High Performance". A
server admin reported changing this decreased his CPU usage 50% on one core
(the main game core). In other words, his server was performing terrible
before, and setting this gave him great performance.
- Windows Firewall: We've seen on some machines that for some reason Windows
Firewall will throttle the bandwidth (and sometimes even stop the net
traffic for a few seconds). If you experiencing strange times where the
server stops sending network traffic altogether for a few seconds, this is
probably the culprit. Try turning it off, and see if the problem goes away.
It did on our servers. Other server admins have reported they never saw this
issue.

Processor Affinity

- I don't know how many server admins I've seen complaining about server
performance, and one of the first things they mention is "well I didn't set
the affinity". Unless you are running virtualization (which I don't suggest)
and the virtualization or some other software that is setting the affinity
for you, you MUST set the affinity to get the best performance out of the
game. The game thread needs exclusive access to a single core. Otherwise the
OS will have it thrashing between cores which will cause the CPU load to go
up, as well as pings and lag. I'm really serious on this one, it is a huge
benefit to the way the server runs when it is near or at peak load.
- Don't set the affinity for more than one server to the same core: this one
should go without saying, but if you do set your affinity, don't set
multiple 64 player servers to the same core :) Havoc ensues. Give each
server process it's own exclusive core for the game thread.
- Give the server its own physical core. If a server has hyperthreading on,
then you should use all even or all odd cores for your affinity. You want to
do 0,2,4,6 or 1,3,5,7, as that will be separate physical cores. If you do 0
and 1 with hyperthreading on, that will be the same physical core and will
overload the CPU

Here is the commandline switch:

-PREFERPROCESSOR=x (where x=0,1,2, ...)

So for example:
-PREFERPROCESSOR=0
Would set the game thread's affinity to the first core.


Virtualization

- Most poeple have not had good results with virtualization and the RO2 game
server. I would suggest at this point to avoid running with virtualization.
I have had reports of servers that would peak thier CPU at 20 players when
using virtualization, when the same machine would run 64 player easily
without virtualization. With that said, I have also heard some server
hosts/admins have had good results with virtualization, and I would be very
interested to hear what software and configuration you are using.

Running Over Recommended Specs

- Please try and keep reasonably close to the Recommended Specs. We've seen
a lot of poeple pushing thier machines WAY past the recommended specs. Doing
so will only result in a laggy experience for your players, who will in turn
leave your server, or our game. And more often than not, they will blame
Tripwire and not the server admin. Here are the recommended specs we
determined during the beta. Note: we actually got some decent optimization
between beta and retail which gained us 10-15% better performance over the
beta on the server. Still, I wouldn't suggest going TOO far over these:

32 Players: CPU usage - 1 Core of a 2.6 GHZ Core I7 or equivalent (i.e. the
server process will take most of 1 core, with a few smaller threads on other
cores). We also tested on an Intel Core2 Quad Q8400 @ 2.66GHz and that could
handle 32 players but I wouldn't try and do 32 players with a machine much
slower than that.

64 Players: Goal CPU usage - 1 Core of a Intel Xeon E3-1270 3.4 GHZ (3.8 GHZ
actually with Turbo enabled) or equivalent (i.e. the server process will
take most of 1 core, with a few smaller threads on other cores).

Strange Lag/Ping Anomalies

- There have been reports of strange ping/lag anomalies not related to CPU
usage (i.e. servers running fine, then pings climb really high for everyone
for an extended period of time, then go back to normal). I've finally been
able to reproduce this on our test servers (by reproduce I mean see it
happen first hand). It is very rare on my test servers (in 5 days of the
servers running 64 players 24/7 this is the first time I've seen it). I'm
probably going to need to build in some logging into the next update to give
me more data on why/when this is happening so that I can track down the
cause. I'll be looking for volunteers to turn on this logging and give me
thier data. I've got some ideas what it might be, but I need to know for
sure.
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlds

Reply via email to