Over the last year, we’ve been going through the incredible learning curve of becoming game server admins. Between simply understanding the software used to run the server (in our case, SRCDS) to figuring out all the platform and performance tuning issues, it’s been quite a climb. While we generally have a pretty good handle on the software, we’re still struggling with hardware selection.
The initially platform we ran on was an old 2GHz celeron (single core) server from Rackmount. This machine didn’t make it past about 4 users until the lag about blew it out of the rack. Yikes. So then the system got upgraded to a 2 x dual core 2GHz Opteron. We used taskset to nail a server down to a core and fired things up. This time we got to about 8 users and things got really laggy. Shocking for a pretty serious piece of iron. So I bought 2 x dual core 2.8GHz (2222’s I think) off of eBay. I kid you not, I got them both for a shade over $100, and they showed up in a DVD case wrapped in duck tape. The chips still had thermal paste on the back of them. Don’t ask, don’t tell I guess.
Got these installed and we ended up with exactly the same results. Turns out that Linux pulls the cores back to 1GHz to save energy until more CPU is needed. Apparently the algorithm to determine “need” assumes that you aren’t running one processor hungry process that can’t run on more than one core. Because even at 80% load, the CPU’s were still at 1GHz. So we hardwired it to 2.8GHz and things got much better. But still not as good as we’d like. Now at 16 or so users the server really starts to labor.
I think there’s some tuning left to do, but I don’t think there’s 100% performance to squeeze out of it. I just don’t think our box can become a 32 slot server without a damn miracle. Or a change of vendor. I’ve heard for a while that Intel performs better than AMD for SRCDS. Well, we just ordered up a i7 2.6GHz setup (complete with SSD) for the server at ShmooCon. I’m going to install an OS on SRCDS and test out performance on an i7, Opteron 22xx, previous gen Xeon, and current gen Xeon. This may not get done before the con, but watch this space for the results.