Maximum supported connection limit?

Feb 17, 2013 at 5:00 AM
What are the maximum concurrent connections supersocket has been tested to scale to?

Thank you.
Feb 17, 2013 at 10:49 AM
It depends on many things:
  • Your server hardware
  • Your business logic
  • The concurrent connection number
In other words, there is no hard concurrent connection number limitation.
Feb 17, 2013 at 10:15 PM
Edited Feb 17, 2013 at 10:16 PM
Thanks, kerryjiang. That is a good point.

These two I can fix:
  • Server hardware: Amazon EC2 Large instance.
  • Business logic: Persistant socket connections (push server - with keepalive messages plus arbitrarily large data messages being sent and received).
Which leaves the variable (and my question):
  • Concurrent connection number = ??
Feb 18, 2013 at 3:12 PM
Business logic - your code base on SuperSocket
Concurrent connection number - Your real connection number in your production environment
Feb 18, 2013 at 9:36 PM
So say I was to host the quick start telnet code on an Amazon EC2 Large instance (or any other server for which you have test data), how many concurrent client connections should I expect to be able to acheive?

Thank you.
Feb 19, 2013 at 3:54 PM
Please test it by your self.
Feb 19, 2013 at 9:21 PM
Edited Feb 19, 2013 at 9:22 PM
Thanks, kerryjiang.

Are there ANY previous tests, done in ANY scenario, testing scalability of supersocket?

Is there ANY data about acheiving many concurrent connections?

Is the ANY data proving SuperSocket can scale successfully?

Has anyone ever tested SuperSocket (in any way) and published some results?

Thank you.
Feb 20, 2013 at 5:12 PM
Edited Feb 20, 2013 at 5:14 PM
Sorry, I think your question is meaningless, I have many points below:
  1. the concurrent connections number is not a important performance indicator if your socket server run in async mode. Because one connection only takes a little memory if the connection doesn't have any other behavior, the maximum concurrent connection number a server can handle depends on it's memory size. But real socket communication requires requesting and responding which will take your more CPU and memory. In other words, I think the request processing speed is more important performance indicator. Thousands of live connections without data communication probably require less CPU and memory than one connection with frequent requests.
  2. long keep alive tcp connection application is easy to be scaled out, you can use a network load balance device/software in front of the many SuperSocket instances