How to increase event loop capacity in nodejs?

924 views Asked by At

I know that Node.js uses a single-thread and an event loop to process requests only processing one at a time (which is non-blocking). But i am unable to determine Event loop capacity to run 100k request per second.

Here i want to capacity planning for nodejs server to handle the 100k request per second.

Please let me know how can i determine the capacity of event loop to increase capacity.

1

There are 1 answers

3
Eugen Dimboiu On BEST ANSWER

A single instance of Node.js runs in a single thread. To take advantage of multi-core systems the user will sometimes want to launch a cluster of Node.js processes to handle the load.

More info here and here

For the reference check following code for simple implementation of cluster in node.js

var cluster = require('cluster');  
var express = require('express');  
var numCPUs = require('os').cpus().length;

if (cluster.isMaster) {  
    for (var i = 0; i < numCPUs; i++) {
        // Create a worker
        cluster.fork();
    }
} else {
    // Workers share the TCP connection in this server
    var app = express();

    app.get('/', function (req, res) {
        res.send('Hello World!');
    });

    // All workers use this port
    app.listen(8080);
}

Cluster is an extensible multi-core server manager for node.js for more source check here.