• Welcome to Valhalla Legends Archive.
 

Server hardware

Started by Banana fanna fo fanna, April 21, 2004, 10:06 PM

Previous topic - Next topic

Banana fanna fo fanna

I need to serve 200,000 concurrent connections for an online game. I guess since I designed it to have 1 connection for game and 1 for chat, I need 400,000 concurrent connections, with only 200,000 active. The server is TCP based and uses a database (MySQL...but I suppose I could convert to something else). If you could also give me an idea about 1,000 users as well, that would be great.

Any ideas for hardware/software design? Right now I'm looking at just buying a lot of P4s, and maybe putting the database on a dual xeon. My game server software is written in Python and uses the psyco JIT. It uses non-blocking I/O and a select()-based reactor, though I'm thinking of switching to poll(), because I hear it scales better.

Right now, I'm thinking about having people choose between game server 1, game server 2, etc, with each one being a totally seperate "realm" so to speak. I was thinking about linking them together, but I don't know the "correct" way to do this. Can anyone enlighten me?

Also, what are these load balancer things I've been hearing about?

If you could help me out with software design issues and hardware stuff, I'd appreciate it.

effect

#1
Loading balancing is software/hardware which will determine which box(?) is less stressed/Loaded on your network  then it will pass the connection onto that box.

Production Server Specs
(4 Servers in total , 2 Application Servers , 2 Web Servers)

Application Server's


Web Server's


Both the application and webserver's run throught a load balancer.

edit: These are used for hosting/pre-compiling and serving Australia.com

Quote from: Mangix on March 22, 2005, 03:03 AM
i am an expert Stealthbot VBScript. Recognize Bitch.

Spht

#2
Quote from: St0rm.iD on April 21, 2004, 10:06 PM
I was thinking about linking them together, but I don't know the "correct" way to do this. Can anyone enlighten me?

Blizzard uses the NTP (Network Time Protocol) for synchronizing clocks of multiple computers on a network.