node 常见的一些系统问题

nodde正风生火起,很多介绍却停留在入门阶段,无法投入生产  

许多文章在讲第三方类库,可是这些库质量差距较大,一旦遇到问题怎么办

全面了解node核心才能成为一名合格的node开发人员


1. node 利用多核cpu 可以像webworker那样, 用child_process.fork 创建子进程, 解决运算密集问题

node .6版本 新增了 cluster (出炉 沙特  沙特出炉一群的油田  群集 ) 模块,

会根据当前cup数量来创建相应的实例数量,从而解决密集问题, 不需要引入multi-node


1. 怎样调节node执行单元的内存大小

    用--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 查看哪些(飘柔类型) 函数调动次数多,

  mem watch heapdump (读 门票的时候, 需要一个仓库 ) 获取内存快照进行对比,

查找内存溢出

1. 可以使用 try catch 处理那些微小 不构成威胁的 异常, 比如

$('.closeBtn').click(function () {

try {
var gui = require('nw.gui');

gui.App.quit();
} catch(e) {
var gui = require('nw.gui');

gui.App.quit();
}

});


1. 有哪些常用方法可以防止程序崩溃

 

如果异常不会引发其他问题, 仅仅是崩溃, 可以自动重启进程, 或者kill线程并重启

利用domain 代替 try catch 捕获 异步执行的异常

利用前期工作减少可能, jshhint 静态检查 , jasmine mocha 进行单元测试

利用 EventEmitter Stream 事件 error 处理

 

转载于:https://www.cnblogs.com/dhsz/p/6408513.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值