pm2发布程序时开多少个工作线程比较合适呢?
因为node.js
是单线程的,所以想要充分利用多核cpu
资源,那么就需要开启多个线程了,例如 :
pm2 start app.js -i 4
今天在看pm2
的相关资料,有如下疑问:
1、这里面的4
一般和电脑cpu
的核心数是什么关系呢?
2、假设我是8核
的cpu,这个数字设置为多少好一点呢?
3、是不是这个数字一定(最好)不能(不要)大于cpu的核心数么?
4、如果我想在一台服务器上发布多个程序:app.js
、app2.js
,那么他们的线程数开多少比较合适呢?
5、pm2
开多个线程应该不算通常集群
的概念吧?和node.js
集群应该完全不同?
纠正一下,是多进程不是多线程。
通常情况下,由于 node.js 是单线程的运行时环境,而每个独立的进程(线程)只能使用有限的内存和CPU执行核,需要这种多进程的集群模式来充分利用机器的性能。
比如一个进程限制使用 1 核心 CPU,1 GB 内存,机器拥有 16 核心和 32 GB 的内存,这时候为充分利用内存可以开启 32 个进程。(当然,通常情况下进程数量建议不要大于 CPU 的核心数量)
https://segmentfault.com/q/1010000012735917