Ich denke, dass meine Verbindungen nicht ordnungsgemäß freigegeben werden. Manchmal bekomme ich eine Fehlermeldung, dass mein Pool das Limit erreicht hat. Manchmal dauert der Zugriff auf die Datenbank nach dem Zufallsprinzip 15 Sekunden. Jedes Mal, wenn ich überprüfen, wie viele Verbindungen verwendet werden mit pool._allConnections.length
, es nie etwas über 60 zurück Hier ist mein Code:Node.js MySQL-Verbindung nicht richtig freigegeben
const mysql = require('mysql');
const config = require('./config.json');
const pool = mysql.createPool({
connectionLimit : 999,
host: config.host,
user: config.user,
password: config.password,
database: config.database
});
const db = (() => {
_query = (query, params, callback) => {
pool.getConnection((err, connection) => {
if (err) {
callback(null, err);
} else {
connection.query(query, params, (err, rows) => {
connection.release();
if (!err) {
callback(rows);
} else {
callback(null, err);
}
});
}
});
};
return {
query: _query
};
})();
module.exports = db;