node服务器端内存不断增加疑问?
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(3002);
console.log('Server running at http://127.0.0.1:3002/');
测试结果
服务器开启后,首次访问后内存占用5M,使用AB压力测试持续一段时间后,内存就飙到乐87M,而且内存就基本固定到该水平,如果是这样的话,还敢用node.js做大型服务器的后台吗?目前项目开发到一大半,内存测试也不理想,好纠结。
老夫石更啦
9 years, 2 months ago
Answers
之前Shadowsocks-nodejs分支被放弃的时候看到过一个关于V8引擎的GC的解释,V8的GC: Github issue的评论
Node.js关于内存遇到的更多的问题反而是内存没法用太多……V8默认对堆的大小实际有限制,64bit下1.4G,32bit下0.7G,以防GC时间过长。《深入浅出Node.js》里有一章专门讲内存。
但是我觉得这对“大型服务器”来说不是什么问题吧……况且内存占用高不代表效率低,而且横向比较我也没觉得Node.js占用多高啊……
一万口新鲜
answered 9 years, 2 months ago