высокий уровень памяти и использование процессора сервером узла - PullRequest
0 голосов
/ 25 сентября 2018

У меня установлено приложение nodejs в дроплете digitalocean.Я использую mysql в качестве базы данных и использую соединение с пулом через.

pool = mysql.createPool({
connectionLimit: 10,
host: "localhost",
user: "root",
password: "password",
database: "mydb",
supportBigNumbers: true, 
bigNumberStrings: true,
charset : 'utf8mb4',
connectTimeout:500,
});

и использую соединение следующим образом.

socket.on('login', function (msg) {
    pool.getConnection(function (err, con) {
        if (err) {
            throw err;
        } else {
            login(socket, con, io, msg);
        }
    });
});

Это из-за соединения с пулом или я неправильно делаешь?Я запустил все необходимые модули в начале сервера, но при необходимости разместил внутри него модуль require.

Один из кодов моего модуля выглядит следующим образом.

 const checkSession = require('./checkSession').checkSession;
 const checkCookie = require('./checkCookie').checkCookie;

module.exports = function (socket, con, io, msg) {
var obj = JSON.parse(JSON.stringify(msg));
var username = obj.loggedusername;
checkSession(socket, con, io, msg, function (returnValue) {
if (returnValue == "sessionOK") {
con.query("SELECT fullname FROM users WHERE username=?",[username], function(err, data){
if (err) throw err;
io.to(socket.id).emit("getdetailsresponse", {
fullname: data[0].fullname,
});
});
}
});
con.release();
}

Или это потому, что яне должно требовать что-то внутри модуля ???

Сначала сервер работает нормально с использованием процессора около 2-3%, но когда я вижу через час или два, я получаю высокое использование процессора как от mysql, так и от узла, инаконец, узел перестает отвечать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...