nodejsserverside是什么 nodejs,密集計算會飆高cpu,那么有沒有什么方案可以盡可能的優(yōu)化?
nodejs,密集計算會飆高cpu,那么有沒有什么方案可以盡可能的優(yōu)化?密集計算會增加CPU是正常的。這意味著你必須努力工作才能搬運(yùn)重物。優(yōu)化:分析代碼以確保沒有消耗CPU的無用代碼,例如無限循環(huán)。通
nodejs,密集計算會飆高cpu,那么有沒有什么方案可以盡可能的優(yōu)化?
密集計算會增加CPU是正常的。這意味著你必須努力工作才能搬運(yùn)重物。
優(yōu)化:
分析代碼以確保沒有消耗CPU的無用代碼,例如無限循環(huán)。
通過一些算法進(jìn)行優(yōu)化,比如一些時空算法。
并行計算(因?yàn)镹odeJ不能直接操作線程,所以可以使用子進(jìn)程多進(jìn)程模型使用多核計算。
如果優(yōu)化后的代碼不能達(dá)到預(yù)期效果,我們可以考慮使用比V8更高效的C語言,通過節(jié)點(diǎn)gyp將其編譯成本機(jī)模塊。
Nodejs對于CPU密集型的計算是阻塞EventLoop,導(dǎo)致后續(xù)任務(wù)無法執(zhí)行,無法發(fā)揮并發(fā)的優(yōu)勢,對于一個服務(wù)器處理請求是致命的。為了解決這個問題,您可以使用子進(jìn)程來創(chuàng)建子進(jìn)程,或者為功能更強(qiáng)大的機(jī)器提供微服務(wù)。