Search code examples
mysqlnode.jsmemcachedcouchbasemysql-cluster

Node.js system requirements for 50.000 concurrent connections


The situation is that about 50.000 electronic devices are going to connect to a webservice created in node.js once per minute. Each one is going to send a POST request containg some JSON data. All this data should be secured. The web service is going to receive those requests, saving the data to a database. Also reading requests are possible to get some data from the DB.

I think to build up a system based on the following infrastructure:

Node.js + memcached + (mysql cluster OR Couchbase)

So, what memory requirements do I need to assign to my web server to be able to handle all this connections? Suppose that in the pessimistic possibility I would have 50.000 concurrent requests.

And what if I use SSL to secure the connections? Do I add too much overhead per connection? Should I scale the system to handle them?

What do you suggest me?

Many thanks in advance!


Solution

  • Of course, it is impossible to provide any valuable calculations, since it is always very specific. I would recommend you just to develop scalable and expandable system architecture from the very beginning.
    And use JMeter https://jmeter.apache.org/ for load testing. Then you will be able to scale from 1000s to unlimited connections.
    Here is a 1 000 000 connections article http://www.slideshare.net/sh1mmer/a-million-connections-and-beyond-nodejs-at-scale