SRCDS Steam group


Very frustrated...so many opinions
#1
I am a fairly experienced css admin from years ago, and now I decided to start another server. Years ago, a P4 was hard and expensive to get so I ran a competitive server on a 1.8 P4 server and it was great.

Now I have my server on a dual xeon 2.4 gig machine with 2 gigs of ram (ddr 266) and a 7200rpm hdd. With 10 people on the server, the cpu utilization total on both processors is 40-50 percent. Opinions vary about this system, some people say it is great and some say it is not good. All the graphs and stuff I see say this server with my bandwidth (20 megs down and 15 up) say that I can handle 64 people, while others say no. So I ask with this setup is it capable of running a 32 slot server with cssdm, eventscripts, sourcemod, mani mod, and metamod?

The machine is a Linux box (ubuntu 9.10), running the linux realtime kernel with fps_max 0. I get on about ~950 server fps. The srcds process is being realtime scheduled as well giving it highest priority. I also have an idler process, that I dont run, because it really does not give that much better performance.

What does everyone think of this server?

Also, these processors can be hyperthreaded, but I read that it is bad to turn it on, should I turn it on or leave it off?
[Image: b_560x95.png]
Reply
#2
(01-29-2010, 11:17 AM)danooch13 Wrote:  I am a fairly experienced css admin from years ago, and now I decided to start another server. Years ago, a P4 was hard and expensive to get so I ran a competitive server on a 1.8 P4 server and it was great.

Now I have my server on a dual xeon 2.4 gig machine with 2 gigs of ram (ddr 266) and a 7200rpm hdd. Opinions vary about this system, some people say it is great and some say it is not good. All the graphs and stuff I see say this server with my bandwidth (20 megs down and 15 up) say that I can handle 64 people, while others say no. So I ask with this setup is it capable of running a 32 slot server with cssdm, eventscripts, sourcemod, mani mod, and metamod?

The machine is a Linux box (ubuntu 9.10), running the linux realtime kernel with fps_max 0. I get on about ~950 server fps. The srcds process is being realtime scheduled as well giving it highest priority. I also have an idler process, that I dont run, because it really does not give that much better performance.

What does everyone think of this server?

Also, these processors can be hyperthreaded, but I read that it is bad to turn it on, should I turn it on or leave it off?

Anything over 24 Players can be (in my opinion) hit or miss. I can assure you that the most important aspect of your server should be the tickrate stability. Having constant FPS helps, but if your tickrate is dropping to unreasonable values, you will definitely notice in-game problems. I suggest trying a few different kernels, as each set of hardware seems to have its own little querks. I suggest testing out 2.6.32 and applying the ck patch set. This should drop your system overhead in half, and may even help stabilize FPS.

Anyways, I hope you get it all tuned up.

Regards,
DiSTANT
[Image: banner.php?t=2&bg=002244&amp...p;id=82023]

[Image: banner.php?t=2&bg=002244&amp...p;id=82024]
Reply
#3
I agree with distant. simply try it out and don't give up immediately if the result is not optimal. try different kernels, but maybe you are already fine with the one you got.

what kind of xeon is it? xeon is the name for all server cpus since several cpu generations...

(btw: on the RT kernel, srcds shouldn't have the highest priority, the timer interrupts should have a higher priority but everything else a lower)
http://www.fpsmeter.org
http://wiki.fragaholics.de/index.php/EN:Linux_Optimization_Guide (Linux Kernel HOWTO!)
Do not ask technical questions via PM!
Reply
#4
(01-29-2010, 05:57 PM)BehaartesEtwas Wrote:  (btw: on the RT kernel, srcds shouldn't have the highest priority, the timer interrupts should have a higher priority but everything else a lower)

Hey, how is this achieved?


Christy
Reply
#5
I appreciate all of your responses. For now I will post some more info about my server.

I dont know what type Xeon is in there. All I can say is this is the motherboard. The person I bought it from never specified the processor specifics. THe Motherboard

This is the kernel in there. Linux deathstar 2.6.31-9-rt #152-Ubuntu SMP PREEMPT RT Thu Oct 15 05:01:14 UTC 2009 i686 GNU/Linux

This is the top display. Should I adjust the priority of srcds?
Code:
top - 08:38:04 up 1 day,  1:10,  1 user,  load average: 0.07, 0.06, 0.01
Tasks: 137 total,   1 running, 136 sleeping,   0 stopped,   0 zombie
Cpu0  :  1.3%us,  1.0%sy,  0.0%ni, 97.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  : 30.5%us,  1.3%sy,  0.0%ni, 68.2%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   2046612k total,  1092344k used,   954268k free,   113668k buffers
Swap:  3004112k total,        0k used,  3004112k free,   564468k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
1941 administ -99   0  376m 240m  16m S   32 12.0 478:32.19 srcds_i686
16278 root      20   0  7840 2516 1976 S    1  0.1   0:00.03 sshd
16275 administ  20   0  2472 1176  884 R    0  0.1   0:00.04 top
    1 root      20   0  2528 1448 1104 S    0  0.1   0:01.16 init
    2 root      15  -5     0    0    0 S    0  0.0   0:00.00 kthreadd
    3 root      RT  -5     0    0    0 S    0  0.0   0:00.00 migration/0
    4 root     -50  -5     0    0    0 S    0  0.0   0:00.00 sirq-high/0
    5 root     -52  -5     0    0    0 S    0  0.0   0:50.95 sirq-timer/0
    6 root     -50  -5     0    0    0 S    0  0.0   0:00.00 sirq-net-tx/0
    7 root     -50  -5     0    0    0 S    0  0.0   1:02.84 sirq-net-rx/0
    8 root     -50  -5     0    0    0 S    0  0.0   0:02.98 sirq-block/0
    9 root     -50  -5     0    0    0 S    0  0.0   0:00.00 sirq-tasklet/0
   10 root     -50  -5     0    0    0 S    0  0.0   0:01.08 sirq-sched/0
   11 root      RT  -5     0    0    0 S    0  0.0   0:00.02 sirq-hrtimer/0
   12 root     -50  -5     0    0    0 S    0  0.0   0:00.35 sirq-rcu/0
   13 root      RT  -5     0    0    0 S    0  0.0   0:00.00 posixcputmr/0
   14 root      RT  -5     0    0    0 S    0  0.0   0:00.00 watchdog/0
   15 root      10 -10     0    0    0 S    0  0.0   0:00.02 desched/0
   16 root      RT  -5     0    0    0 S    0  0.0   0:00.01 migration/1
   17 root      RT  -5     0    0    0 S    0  0.0   0:00.00 posixcputmr/1
   18 root     -50  -5     0    0    0 S    0  0.0   0:00.00 sirq-high/1
   19 root     -52  -5     0    0    0 S    0  0.0   1:05.20 sirq-timer/1
   20 root     -50  -5     0    0    0 S    0  0.0   0:00.02 sirq-net-tx/1
   21 root     -50  -5     0    0    0 S    0  0.0   0:49.12 sirq-net-rx/1
   22 root     -50  -5     0    0    0 S    0  0.0   0:02.45 sirq-block/1
   23 root     -50  -5     0    0    0 S    0  0.0   0:00.00 sirq-tasklet/1
   24 root     -50  -5     0    0    0 S    0  0.0   0:01.32 sirq-sched/1
   25 root      RT  -5     0    0    0 S    0  0.0   0:00.02 sirq-hrtimer/1
   26 root     -50  -5     0    0    0 S    0  0.0   0:00.37 sirq-rcu/1
   27 root      RT  -5     0    0    0 S    0  0.0   0:00.00 watchdog/1
That is a top print with only 6 bots in the server. Remember the server is running cssdm, eventscripts and mani, and gore mod.

This is the rescheduling code:
Code:
#!/bin/sh

PIDS=`ps ax | grep sirq-hrtimer | grep -v grep | sed -e "s/^ *//" -e "s/ .*$//"`
for p in $PIDS; do
  chrt -f -p 99 $p
done

PIDS=`ps ax | grep sirq-timer | grep -v grep | sed -e "s/^ *//" -e "s/ .*$//"`
for p in $PIDS; do
chrt -f -p 51 $p
done

PIDS=`pidof srcds_i686`
for p in $PIDS; do
  chrt -f -p 98 $p
done

I also have an available idler process that i can run on both processors if needed. It only bumped up the server fps to ~955 as opposed to ~935-~950 without it.

Also, should I enable hyperthreading on these processors, will it help?

Also, someone said check for tickrate drops (the first reply to my post). My fps seems to be stable, but if i type stats and keep repeating it every second, the fps does things like:
Code:
CPU   In    Out   Uptime  Users   FPS    Players
32.00  0.00  0.00    1517    32  168.07       6
stats
CPU   In    Out   Uptime  Users   FPS    Players
34.50  0.00  0.00    1517    32  939.85       6
stats
CPU   In    Out   Uptime  Users   FPS    Players
34.50  0.00  0.00    1517    32  949.67       6
stats
CPU   In    Out   Uptime  Users   FPS    Players
34.50  0.00  0.00    1517    32  938.97       6
stats
CPU   In    Out   Uptime  Users   FPS    Players
34.00  0.00  0.00    1517    32  949.67       6
stats
CPU   In    Out   Uptime  Users   FPS    Players
34.00  0.00  0.00    1517    32  939.85       6
stats
CPU   In    Out   Uptime  Users   FPS    Players
34.00  0.00  0.00    1517    32  187.30       6
stats
CPU   In    Out   Uptime  Users   FPS    Players
34.00  0.00  0.00    1517    32  917.43       6
rcon from "10.50.1.4:36542": command "stats"

statsCPU   In    Out   Uptime  Users   FPS    Players
34.00  0.00  0.00    1517    32  938.97       6
stats
CPU   In    Out   Uptime  Users   FPS    Players
34.00  0.00  0.00    1517    32  949.67       6
They recommended to look for tickrate drops. How do I check what the tickrate is at the current moment. Right now, I have it set to 66. Also these are the rates from my server.cfg.
Code:
// bandwidth rates/settings
sv_minrate 100
sv_maxrate 30000
decalfrequency 10
sv_maxupdaterate 66
sv_minupdaterate 20
sv_mincmdrate 33
sv_maxcmdrate 66
fps_max 0

So thats everything I think? What do you guys think I should start with?

Also, I have hlstatsx ce running on that same machine, with the mysql db on the same machine? Should I move it? I can move the db to another machine..not a problem at all. I would think those two processors should be able to handle that no?

LOL, also, I have the sv_download url running from there as well! Dont kill me. I just feel that sv_downloadurl is mostly bandwidth, and I have enough of that

Thank you for your time guys!
[Image: b_560x95.png]
Reply
#6
I have used various machines, and I once had a machine similar to yours, though I ran HL1 servers on it. I had a dual xeon too, about 2.4Ghz, and I had really similar stats to yours although I didn't run anything but the servers on that machine. The problem was the 512K CACHE on the processor, and I am pretty sure that there were some problems with RAM too.

So I assume that this is a hardware issue, but it could easily be related to software.
Reply
#7
(01-29-2010, 11:50 PM)danooch13 Wrote:  I dont know what type Xeon is in there. All I can say is this is the motherboard. The person I bought it from never specified the processor specifics.

Did you check with:
Code:
less /proc/cpuinfo

or for complete system hardware info:
* as su
* output to my_system_hwinfo.txt (or whatever name you want) since the lengthy output.
Code:
lshw >> my_system_hwinfo.txt


(01-29-2010, 11:50 PM)danooch13 Wrote:  I also have an available idler process that i can run on both processors if needed. It only bumped up the server fps to ~955 as opposed to ~935-~950 without it.

Please confirm with BehaartesEtwas, but according to his guide, the idler isn't for performance boost, but:
Quote:Eliminate small Variations with "idler"


I assume that you got another machine for web hosting, since you mentioned that you could move the hlx:ce to a different host, so why not move both the hlx:ce and the fast download to that machine?

(Same logic as I wouldn't wash my dishes in the bathroom)

(01-29-2010, 11:50 PM)danooch13 Wrote:  I just feel that sv_downloadurl is mostly bandwidth.

The performance of your game server is depended on the bandwidth as well. Cool
A less annoying signature... (link)
Reply
#8
did you try with 64 bit linux?
http://www.fpsmeter.org
http://wiki.fragaholics.de/index.php/EN:Linux_Optimization_Guide (Linux Kernel HOWTO!)
Do not ask technical questions via PM!
Reply
#9
danooch13 Wrote:
Quote:did you try with 64 bit linux?
What would 64 bit do to help the problem? In theory all it does is allow for more memory to be addressed. I have all 32 bit HW.

Quote:processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel® Xeon™ CPU 2.40GHz
stepping : 5
cpu MHz : 2399.116
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm$
bogomips : 4798.23
clflush size : 64
power management:
That is my processor info.

I spent a couple of hours a couple of days ago moving all the hlstatsx and downloadurl related stuff to another server. Everything was easy and went well. I am still nervous though, there were 14 people playing on the server that day, and the server fps was moving around alot from ~950 to ~400 to as low as 80 and back up... Maybe I should run the idler, but this time on both processors as opposed to just one?

So today, I put the idler (with nice command) on (its swaps between processors with smp), and it seems to keep the fps a little more stable. It was literally jumping all over the place when people were connected (no bots) before I put the idler on. With the bots, it stays fairly stable(with or without idler). I used the fps meter on fragaholics, and it said my mean fps was 985. I have never even seen it hit that. It did show one drop on the measurement down to as low as 90. I will post that image tomorrow.

Yesterday for example, my server was on dust2, with 13 people and the cpu util was staying at around 70%. This server should be able to handle 24 people no? I feel like 70 percent is a little high if I want this server to handle 24 people.

Should have enable or disable hyperthreading? I heard it hurts more than it helps.

One of you mentioned tickrate drops. How to I see if my tickrate is dropping?

Just in case it means anything I am running the rt kernel from the ubuntu repositories. 2.6.31.something something.

What else should I check, lower or do something to, so this server can handle the 24 people (if it even can)?

I guess the overall question to all this (because I know my experiments are all over the place right now), is can this server run with 24 people?
~ Mooga ...w00t? - SRCDS.com on Twitter
[Image: 76561197965445574.png]
Please do not PM me for server related help
fqdn Wrote:if you've seen the any of the matrix movies, a game server is not all that different. it runs a version of the game that handles the entire world for each client connected. that's the 2 sentence explanation.
Reply
#10
64 bit kernels are better than 32 bit for our purposes. don't ask me why exactly, they produce more stable fps (for srcds at least; might be different for hlds)
http://www.fpsmeter.org
http://wiki.fragaholics.de/index.php/EN:Linux_Optimization_Guide (Linux Kernel HOWTO!)
Do not ask technical questions via PM!
Reply
#11
(01-29-2010, 05:57 PM)BehaartesEtwas Wrote:  (btw: on the RT kernel, srcds shouldn't have the highest priority, the timer interrupts should have a higher priority but everything else a lower)

why that? I'm running the timer and the srcds process on prio 99 which shows prio RT(=real time) on htop. until now, I didn't have any bad experiences with that.

currently I run the 2.6.32-ck2, but before I was running 2.6.26.8-rt16 with this setting and without issues.
Reply
#12
in my experience it's better if the timer has a higher priority. else it can be blocked by a server. probably only an issue if you run more servers than you have cpu-cores.

in any case this is only relevant for the rt kernels. other kernels (including ck) do not have threads for the timer interrupts so you cannot set priorities there (the corresponding part in the resched.sh simply doesn't have any effect).
http://www.fpsmeter.org
http://wiki.fragaholics.de/index.php/EN:Linux_Optimization_Guide (Linux Kernel HOWTO!)
Do not ask technical questions via PM!
Reply
#13
The front side bus (FSB) has a big influence on the server performance. The cache on the processor also matters
Slå den med jeres fiberforbindelser...

[Image: 1308107839.png]
Reply
#14
The kernel I am running is from the ubuntu repositories. I just typed sudo apt-get install linux-rt. That kernel worked perfectly straight out of the box. Now I also put another gig of ram in.

I guess I made a bad choice buying this server.

The thing is only 533mhz FSB. I just find it amazing that this game is from 2004, and the server requirements are so high.

Right now, it is running ok. The idler seemed to bring the cpu util down on most maps. I removed a couple of sourcemod plugins that werent really necessary also.

I also moved all the hlstatsx and fast download stuff to another machine.

I guess I just dont get how a xeon cant run right. I used to run this server on a 1.8gig windows machine with 1 gig, I believe with 16 players and never saw the cpu run that high.

Oh well, I guess good things develop more over time, and that is why this game is still so popular.

Does anyone think I should enable hyperthreading? I am trying to get the most power out of this machine.

Thanks for all your help.

Attached are my full system specs that you guys requested. I couldnt reply for a while bc it thought everything was spam. Mooga fixed it.


Attached Files
.txt   mysystem.txt (Size: 16.01 KB / Downloads: 5)
[Image: b_560x95.png]
Reply
#15
these look like to old netburst xeons, meaning you basically have a P4 again (only 2 of them in one box this time - but as two separate cpus, not dual core). the server is from around 2002, this might explain why it's overloaded with a game from 2004...

Don't use a high tickrate (start with 33 - that is the default) and don't use too many slots. I would try enabling hyper threading but don't run more than 2 servers on the box (even if it seems to have 4 cpus with HT enabled). limit the fps to 500 at most, maybe even 333 only. try different kernels, RT-patches might have too much overhead, maybe CK is better, or an unpatched vanilla kernel. I don't know...
http://www.fpsmeter.org
http://wiki.fragaholics.de/index.php/EN:Linux_Optimization_Guide (Linux Kernel HOWTO!)
Do not ask technical questions via PM!
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)