节点服务器可以生成多少个子进程?

时间:2013-07-30 21:19:47

标签: node.js

我正在进行CPU密集型的数学计算,因此我需要使用node.js生成子进程,因为它可能会阻塞主要的偶数循环。它不一定是内存密集型,但它是CPU密集型的。比如一个斐波那契数字生成器。

我唯一担心的是,我可能有很多用户,数千人同时做这项工作,这意味着我将在我的linux机器上运行数千个进程,因为node.js每次都会生成一个新进程child_process正在运行。我的问题是linux服务器可以处理多少个进程?

注意:我的服务器是一个内核为4GB的双核Linux虚拟机。即,没什么特别的。 注意#2:我在这里寻找一个简单的球场图。成千上万?感谢。

1 个答案:

答案 0 :(得分:0)

两点......

  1. 如果您可以cache/memoize结果取决于您的方案,请执行此操作。
  2. 我会考虑使用generic-pool来限制您使用稀疏资源。通过使用节点池包装控制器,您可以限制自己在给定时间说10或20个活动工作者。尽管你可以运行多少线程确实依赖于工人/系统,但我不会做超过物理cpu数量的2倍。如果所有工作进程都相同,则更容易预测。