Мы пытаемся настроить Node.js + Socket.io. Наша последняя проблема - использование памяти. Мы начинаем наш простой сервер (код ниже), а использование виртуальной памяти этого процесса составляет ~ 600 мб.
1000 6463 0.0 0.4 635816 19260 pts/1 Sl+ 12:51 0:00 node /home/data/server.js
server.js
var express = require('express');
var app = express.createServer(), io = require('socket.io').listen(app);
app.listen(8000);
io.set('flash policy port', 8001);
io.enable('browser client minification'); // send minified client
io.enable('browser client etag'); // apply etag caching logic based on version number
io.set('log level', 1);
io.set('transports', [
'websocket'
, 'flashsocket'
, 'htmlfile'
, 'xhr-polling'
, 'jsonp-polling'
]);
io.sockets.on('connection', function (socket) {
socket.on('distribute', function (data) {
if(typeof data.key == 'undefined' || (typeof data.key != 'undefined' && data.key != 'randomstringforsecurityreason')){
return false;
}
delete data.key;
socket.broadcast.to(data.channel).emit('eat', data);
});
socket.on('pukpuk', function(data) {
if(typeof data == "string"){
socket.join(data);
} else {
for(var i in data)
{
socket.join(data[i]);
}
}
});
});
Это нормально? Настолько большое использование виртуальной памяти?
Edit:
Хорошо, я обнаружил, что это довольно нормально. http://comments.gmane.org/gmane.comp.lang.javascript.nodejs/17482