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 处理
node 常见的一些系统问题的更多相关文章
- Node.js 操作 OSX 系统麦克风、扬声器音量
最近几年 Electron 很火,公司也正好有个项目想做跨平台客户端,大家研究了一下就选择了 Electron,第一次做 js 的项目遇到了不少坑,不过也都一点点解决了. 因为项目中需要对用户录音,H ...
- 39条常见的Linux系统简单面试题
39条常见的Linux系统简单面试题 本文主要分享39条常见的Linux系统简单面试题,其中包括如何看当前Linux系统有几颗物理CPU和每颗CPU的核数.如何实时查看网卡流量为多少等等,希望对你有所 ...
- 一个 Vue + Node + MongoDB 博客系统
源码 耗时半载(半个月)的大项目终于完成了.这是一个博客系统,使用 Vue 做前端框架,Node + express 做后端,数据库使用的是 MongoDB.实现了用户注册.用户登录.博客管理(文章的 ...
- node.js安装——Windows7系统下的安装及其环境部署——特别详细
作为一个前端的菜鸟同学,之间也没学过什么框架,目前公司做项目,所用到的webpack+node.js+vue. 首先,关于node的环境部署方面,建议官网安装node.js,最好不要安装非稳定版的版本 ...
- Node.js的模块系统
编写稍大一点的程序时一般都会将代码模块化.Node.js提供了一个简单的模块系统.模块既可能是一个文件,也可能是包含一个或多个文件的目录. 模块的创建 如果模块是个文件,一般将代码合理拆分到不同的J ...
- 【node.js】模块系统、函数
为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统. 一个 Node.js 文件就是一个模块,这个文件可能是JavaScript 代码.JSON 或者编译过的C/C++ 扩 ...
- Node.js:模块系统、函数
为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统. 模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的.换言之,一个 Node.js 文件就是一个模块, ...
- node在Fedora 22系统下开发环境搭建
事实上,环境搭建在linux系统还是比較简单的,下载已经编译好的包,配置一下环境变量. 或者下载源代码,自己编译. 这里记录一下,主要是node版本号变化节奏很块的情况下.怎样配置一次环境变量就不要再 ...
- Node.js:模块系统
ylbtech-Node.js:模块系统 1.返回顶部 1. Node.js模块系统 为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统. 模块是Node.js 应用程序的 ...
随机推荐
- CenterOS下从零起步简单部署RockMongo
使用Mongodb,对于调试Query,查看Collection等状态,有Rockmongo是非常方便的. 研究了下Rockmongo的部署,主要是依赖PHP环境的web服务器,当前有两种服务器,一种 ...
- MySql 插入数据返回数据的Id值
insert into addeditemgroup(addeditemgroupname) value(') ; select @@IDENTITY as id; 返回最新的Id:
- C# asp.net 比较两个时间的差求天数
string str1 = "2017-2-13 23:59:59"; string str2 = "2017-2-14 0:00:01"; DateTime ...
- SPOJ - INTSUB 数学
题目链接:点击传送 INTSUB - Interesting Subset no tags You are given a set X = {1, 2, 3, 4, … , 2n-1, 2n} wh ...
- ubuntu14.04上 nginx启动停止
sudo service nginx stop 停止 sudo nginx 启动
- shell 使用变量
使用变量 使用一个定义过的变量,只要在变量名前面加美元符号即可,如: your_name="qinjx" echo $your_name echo ${your_name} 变量名 ...
- python - HTMLTestRunner 测试报告模板设置
python - HTMLTestRunner 测试报告模板设置 优化模板下载地址: http://download.csdn.net/download/chinayyj2010/10039097 ...
- Anagram 由颠倒字母顺序而构成的字
2018-07-15 19:23:08 Valid Anagram 问题描述: 问题描述: 可以使用map来记录各个字符出现的个数,在O(n)的时间复杂度内完成,当然也可以使用排序算法在O(nlogn ...
- Java实例-坦克大战
Java实例-坦克大战 一.样例图片 二.类图结构 坦克大战中的所有类 类的关系图 我的坦克类 三.说明 1.每一个新的独立运行的东西就是一个线程,像我方坦克,像敌方坦克,像所有的子弹 2.每一个线程 ...
- android--------listview之适配器
ListView之适配器的使用,包含了ArrayAdapter,SimpleAdapter ,BaseAdapter等适配器. 1:ArrayAdapter /**** * * * ArrayAdap ...