forked from totaljs/examples
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
41 lines (29 loc) · 791 Bytes
/
index.js
File metadata and controls
41 lines (29 loc) · 791 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
var http = require('http');
var cluster = require('cluster');
var os = require('os');
var debug = true;
if (!cluster.isMaster) {
// This code will be executed according the number of CPU
// This code will be using: single process RAM * numCPUs
var F = require('total.js');
// Set framework ID
F.on('message', function(message) {
if (message.type === 'id')
framework.id = message.id;
});
F.http('debug');
return;
}
var numCPUs = os.cpus().length;
for (var i = 0; i < numCPUs; i++) {
// Run framework
var fork = cluster.fork();
fork.on('message', onMessage);
// Send ID
fork.send({ type: 'id', id: i });
}
function onMessage(message) {
console.log('Message ->', message);
}
// Use a terminal for testing:
// $ siege -b -r 10 http://127.0.0.1:8000/