在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Linux  HTML/ pm2發(fā)布程序時(shí)開(kāi)多少個(gè)工作線程比較合適呢?

pm2發(fā)布程序時(shí)開(kāi)多少個(gè)工作線程比較合適呢?

因?yàn)?code>node.js是單線程的,所以想要充分利用多核cpu資源,那么就需要開(kāi)啟多個(gè)線程了,例如 :

pm2 start app.js -i 4

今天在看pm2的相關(guān)資料,有如下疑問(wèn):

1、這里面的4一般和電腦cpu的核心數(shù)是什么關(guān)系呢?
2、假設(shè)我是8核的cpu,這個(gè)數(shù)字設(shè)置為多少好一點(diǎn)呢?
3、是不是這個(gè)數(shù)字一定(最好)不能(不要)大于cpu的核心數(shù)么?
4、如果我想在一臺(tái)服務(wù)器上發(fā)布多個(gè)程序:app.js、app2.js,那么他們的線程數(shù)開(kāi)多少比較合適呢?
5、pm2開(kāi)多個(gè)線程應(yīng)該不算通常集群的概念吧?和node.js集群應(yīng)該完全不同?

回答
編輯回答
離殤

1、 -i 指定的 cluster 個(gè)數(shù)與 cpu 核數(shù)沒(méi)有直接關(guān)系
2、這個(gè)問(wèn)題要從多個(gè)角度考慮,你應(yīng)該使用多少個(gè) cluster 更重要的是取決于你應(yīng)用程序的并發(fā)量大小與服務(wù)器的內(nèi)存大小。應(yīng)用程序并發(fā)量太小,而開(kāi)啟了多余的cluster實(shí)例會(huì)占用額外的服務(wù)器內(nèi)存空間;并發(fā)量過(guò)大,也要注意保證占用的內(nèi)存不超過(guò)服務(wù)器的內(nèi)存,一般會(huì)保證在總內(nèi)存的6、7成以下。
3、不是
4、與第二問(wèn)題一致
5、pm2 使用的就是 node.js 的集群

2017年7月5日 22:48
編輯回答
尐潴豬

糾正一下,是多進(jìn)程不是多線程。

通常情況下,由于 node.js 是單線程的運(yùn)行時(shí)環(huán)境,而每個(gè)獨(dú)立的進(jìn)程(線程)只能使用有限的內(nèi)存和CPU執(zhí)行核,需要這種多進(jìn)程的集群模式來(lái)充分利用機(jī)器的性能。

比如一個(gè)進(jìn)程限制使用 1 核心 CPU,1 GB 內(nèi)存,機(jī)器擁有 16 核心和 32 GB 的內(nèi)存,這時(shí)候?yàn)槌浞掷脙?nèi)存可以開(kāi)啟 32 個(gè)進(jìn)程。(當(dāng)然,通常情況下進(jìn)程數(shù)量建議不要大于 CPU 的核心數(shù)量)

2017年3月31日 03:32