Server Load question

Options
drawmaster77
edited November 2012 in Photon Server
Hi guys.

I am trying to use extended LiteLobby server to handle FPS game. How many games can I expect to support on one machine?

I have 10 players/room
Server does bare minimum logic (mainly message passing between clients)
Clients send messages every 100ms
This is FPS game, so a lot of movement/fire messages are exchanged

Should I perhaps add dedicated servers or can this be run on one machine with several dozen active games?

Comments

  • Kaiserludi
    Kaiserludi admin
    edited July 2015
    Options
    On our Cloud a typical game server (dedicated machine; CPU: Single Processor, Quad Core - Intel Xeon 3440 or E3-1230; RAM: 4 GB; OS: Windows Server 2008 R2 (64bit) - a machine with more power only makes sense, if that single machine has always a connection of more than 100mps available as with those specifications the CPU gets the bottleneck a bit later than the 100mps have been passed, at least at our cloud) handles up to 2.000 players, all currently active in game rooms (the players, that are just hanging around in the lobby, are staying on the master server) without reaching its capacity limits, but I think, that the average game room has less than 10 players and if you send around all messages to every other player in the room, then the traffic will of course increase squared to the number of players per room. Furthermore you have to take into account, how big your average message is. Messages, that are above the MTU of your clients (usually around 1.200 bytes for most platforms), get split up into several udp packets, so that such a message will give the server a bit more to do than one, that suits into a single packet. Reliable messages will also mean more more work for the server than the same amount of unreliable ones (messages, that got split up into multiple packets will always be sent reliable, no matter, what you specify).

    Is 10 players the maximum per room, or just the maximum, so that a lot of rooms will probably run with less?

    Depending on how powerful your server machine is (a dedicated machine will be able to handle a lot more players than a virtual one with the same specifications, often twice as much) and if there will also be a lot of rooms, that are running with just 2, 4, 6 or 8 players or if every room will run with 10, I would roughly guess, that your server will be able to handle 500-3.000 players in a few dozens to a few hundred rooms.

    Of course these number can drastically go down, if you add some expensive custom server side logic like extensive physics, running a server side game engine instance for every room, do some expensive database stuff, etc.
  • I am trying to keep everything that is sent out often as small as possible of course, but how do I ensure my message is below MTU?
    I can also add some logic to limit message sending based on interest areas.
    10 is the max players per room, likely average will be less than that.

    Its nice to know that I can support few hundred players. After that I can add some load balancing or something with multiple servers :)
  • Kaiserludi
    Options
    Photon (since version 3, but you can update from Photon 2 to photon 3 for free, in case ,that you are still using Photon 2) already offers LoadBalancing out of the box: You just have to let your code base on the client- and server side LoadBalancing projects instead of LiteLobby.
    The Photon Clients (at least the C#, C++ and objC ones, I don#t know about the rest, out of my head) log, when they split messages into multiple packets, when you set their debug level to at least INFO.