node 常见的一些系统问题
nodde正風生火起,很多介紹卻停留在入門階段,無法投入生產(chǎn) ?
許多文章在講第三方類庫,可是這些庫質(zhì)量差距較大,一旦遇到問題怎么辦
全面了解node核心才能成為一名合格的node開發(fā)人員
1. node 利用多核cpu 可以像webworker那樣, 用child_process.fork 創(chuàng)建子進程, 解決運算密集問題
node .6版本 新增了 cluster (出爐 沙特 ?沙特出爐一群的油田 ?群集 ) 模塊,
會根據(jù)當前cup數(shù)量來創(chuàng)建相應(yīng)的實例數(shù)量,從而解決密集問題, 不需要引入multi-node
1. 怎樣調(diào)節(jié)node執(zhí)行單元的內(nèi)存大小
? ? 用--max-old-space-size=1700 test.js //單位MB
1. 可以用uncaughtException 來全局捕獲Error 同時打印出
process.on('uncaughtExcption', fn(err){ console.log(err); console.log(err.stack) })
1. 可以用 node-prof 查看哪些(飄柔類型) 函數(shù)調(diào)動次數(shù)多,
? mem watch heapdump (讀 門票的時候, 需要一個倉庫 ) 獲取內(nèi)存快照進行對比,
查找內(nèi)存溢出
1. 可以使用 try catch 處理那些微小 不構(gòu)成威脅的 異常, 比如
$('.closeBtn').click(function () {
try {
var gui = require('nw.gui');
gui.App.quit();
} catch(e) {
var gui = require('nw.gui');
gui.App.quit();
}
});
1. 有哪些常用方法可以防止程序崩潰
?
如果異常不會引發(fā)其他問題, 僅僅是崩潰, 可以自動重啟進程, 或者kill線程并重啟
利用domain 代替 try catch 捕獲 異步執(zhí)行的異常
利用前期工作減少可能, jshhint 靜態(tài)檢查 , jasmine mocha 進行單元測試
利用 EventEmitter Stream 事件 error 處理
?
轉(zhuǎn)載于:https://www.cnblogs.com/dhsz/p/6408513.html
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的node 常见的一些系统问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux入门(9)——Ubuntu16
- 下一篇: windows开了远程控制访问老提示密码