1

I did not find any adequate answers to my question on Internet. So, I am asking here. Here is my situation: I am building an Android application where Android clients need to communicate with each other by passing through a Java-sql server (on the same port). I created the client and server sides but i am wondering what components i should take in count in order to have a server able to handle several thousand of clients ? Let's say for instance 2000 clients. Is a high bandwidth for the server enough to achieve my goal ? (number of connections = bandwidth of server / average bandwidth of client). Or a combination between the bandwidth of clients and server, CPU and RAM is necessary ?

I would appreciate any help.

Best regards,

Yassir S
  • 1,032
  • 3
  • 21
  • 44
  • 1
    There is no simple answer to a question like this. It depends on the implementation of the server software, on the hardware configuration like number of CPUs, core-count, RAM, and a lot of other things. Furthermore, it depends on what exactly your client-/server-software does per connection, if the connection are persistent connections like with SSH or more temporary like with HTTP. You're question as it is cannot be answered properly. – Mjoellnir Sep 29 '14 at 10:45

1 Answers1

1

ServerSocket Docs Says:The maximum queue length for incoming connection indications (a request to connect) is set to 50. If a connection indication arrives when the queue is full, the connection is refused.

Max. number of clients will vary by some amount every time depending on your processing time, more CPU + RAM is always helpful at the server-side but code should be optimal also at the server-side.

High bandwidth server will only help you recive/send data to/from your clients but the processing time is also important(CPU + RAM + CODE).

Also take a look at this SO Post which talks about the same issue.

Edit:

As Mjoellnir said : "Furthermore, it depends on what exactly your client-/server-software does per connection, if the connection are persistent connections like with SSH or more temporary like with HTTP", you should also take this particulat case into account.

Community
  • 1
  • 1
Sagar Pilkhwal
  • 3,998
  • 2
  • 25
  • 77