Which one is fastest?

Jul 9, 2013 at 5:23 AM
Hello,
I am wondering is this framework faster than the one located in serverframework.com for a tcp game server with a thousand clients..
Thanks for comments.
Coordinator
Jul 9, 2013 at 11:11 AM
I don't think the network layer is the most important thing for the performance of your application server.

My suggestion is choosing a framework which is suitable for your application and test the performance with your real world test cases.
Aug 19, 2013 at 8:18 AM
I agree with kerryjiang, you need real world test cases to performance test your code.

I wrote about what you should do here in a blog posting, but the gist of it is...
"Unfortunately it can be all too easy to squander the scalability and performance that you have at the start with poor design choices along the way. These design choices are often quite sensible when viewed from a single threaded or reasonably complex desktop development viewpoint but can be performance killers when writing scalable servers. It's also easy to over engineer your solution because of irrational performance fears; the over-engineering takes time and delays your delivery, and can often add complexity which then causes maintenance issues for years after. There's a fine line to walk between the two and I firmly believe that the only way to walk this line is to establish realistic performance tests from day 0.

Step one on the road to a high performance server is obviously to select The Server Framework to do your network I/O ;) [Or something else that works for you]

Step two is to get a shell of an application up and running so that you can measure its performance.

Step three is, of course, to measure.

There is no excuse for getting to your acceptance testing phase only to find that your code doesn't perform adequately under the desired load. What's more, at that point it's often too late to do anything about the problem without refactoring reams of code. Even if you have decent unit test coverage, refactoring towards performance is often a painful process. The various inappropriate design decisions that you can make tend to build on each other and the result can be difficult to unpick. The performance of the whole is likely to continue to suffer even as you replace individual poor performing components."