Performance Concerns

Options
Herhangi
edited May 2012 in Photon Server
Hello dearest photon users,
We are developing a browser based strategy game in Silverlight and having some troubles with our WCF services because everything is serialized as XML in WCF.
We are thinking to migrate our WCF Services to Photon Server. Our server should be able to greet as many as possible clients at once with TCP because of Silverlight limitations, and after manipulating data whether doing all the work on server or executing a MSSQL query return the corresponding output to user. With the serialization
of objects; data input from a user may be up to 100B and output may be up to 1.5KB maximum. Generally 1/10 concurrent users queries to the server in a second.

Now, as coming to my questions;
-What is your opinion about migrating the whole our web services to Photon Server?
-How much concurrent users this system can handle?
-How much RAM I can consume with Photon, as I want to cache most SQL data in RAM?

I think this is all my questions for now. I will ask as it comes to my mind.
Thanks.

Comments

  • Tobias
    Options
    Herhangi wrote:
    Now, as coming to my questions;
    -What is your opinion about migrating the whole our web services to Photon Server?
    -How much concurrent users this system can handle?
    -How much RAM I can consume with Photon, as I want to cache most SQL data in RAM?

    Photon is built to send small amounts of data very fast. In this context, anything below 1KB could be considered "small amount". If you send 1.5KB a few times per session, that's fine, too.
    For a game, Photon should be much better suited than WCF Services, so give it a try!

    Photon can handle 1k to 20k users on one machine. It depends on what your game does so that's a very vague number. Usually, network bandwidth is taken up before CPU cycles.

    It's a 64bit build and reserves a buffer per connection. Those buffers are re-used as much as possible, so your memory should be fine.
    Aside from that: If your game is as big as you mention, you probably want the database on a separate machine. In-memory is a good thing in those cases.