我需要对我们的websocket服务执行负载测试。 有没有办法从一个工作站打开多个websocket连接?
我已经尝试过npm ws
和websocket
模块来使用NodeJS启动它们。它可以通过单个连接正常工作,但是当我尝试在for循环中打开它时,它会抛出异常或仅使用最后一个打开的客户端。
答案 0 :(得分:2)
如果您想从单个工作站执行此操作,则可以使用子进程:
app.js:
var cp = require('child_process');
var children = [];
var max = 10; // tweak this to whatever you want
for(var i = 0; i<max; i++){
children[i] = cp.fork('./child.js');
.on('error', function(e) {
console.log(e);
}).on('message',function(m){
console.log(m)
}).on('exit', function(code) {
console.log('exit with code',code);
});
}
然后在child.js中,只需要一个启动连接的脚本。您还可以使用子进程API
在父级和子级之间发送消息