Art*_*Ale 9 concurrency fork comet node.js
我的问题很简单.但是,它可能需要回答不同的变量(我猜)
我正在玩node.js,我正在考虑如何在多核架构中使用它.
最新版本提供了多进程编程的方法child_process.fork()和child.spawn()方法.我已经阅读了关于将Node.js用作大型Comet服务器的这篇非常好(但已过时)的文章.现在,nodejs提供了多进程编程,我真的不知道应该为生成大量请求而生成多少进程(假设我的服务器只在一台机器上运行).有没有办法选择"最佳"(或至少是好)数量的子进程做同样的工作?
任何指向起始指南的链接都将非常感激.
谢谢
ale*_*lex 10
Node.js官方文档中有一个如何使用集群的示例:
var cluster = require('cluster');
var http = require('http');
var numCPUs = require('os').cpus().length;
if (cluster.isMaster) {
// Fork workers.
for (var i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on('death', function(worker) {
console.log('worker ' + worker.pid + ' died');
});
} else {
// Worker processes have a http server.
http.Server(function(req, res) {
res.writeHead(200);
res.end("hello world\n");
}).listen(8000);
}
Run Code Online (Sandbox Code Playgroud)
正如您在上面的代码中所看到的,您应该使用与您拥有的cpu数量一样多的分支,以便所有内核同时工作(在处理器核心之间分配工作).
在Node.js示例中,他们希望每个核心仅运行一个进程.每个核心的工作人员数量没有技术限制,因此只要您的系统可以处理,您就可以尽可能多地运行.
但是,每个核心运行多个进程并不能提高应用程序的性能.
希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
7158 次 |
| 最近记录: |