为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:Linux xxx 5.10.26-1-MANJARO #1 SMP PREEMPT Thu Mar 25 16:56:17 UTC 2021 x86_64 GNU/Linux,
数据库是安装在window系统,操作连接系统是manjaro
【CPU】:i5-8400
【问题描述】*:Nodejs,调用连接关闭时,没有执行回调函数,查询也很快到达最大连接数,怀疑是没有释放掉连接。
// exec 函数
try {
result = await conn.execute(sql, param, { autoCommit: transaction ? false : true })
} finally {
if (conn && !transaction) {
console.log('要释放')
conn.close((e) => {
console.log(e);
console.log('释放了');
})
}
}
return result
间隔1秒,循环100次随便查询一个sql
const sleep = (delay) => new Promise((resolve) => setTimeout(resolve, delay));
for(let i =0;i<100;i++){
const model = await exec('SELECT id FROM user LIMIT 1');
console.log(i)
await sleep(100);
}
大概27次以后就会提示超过最大连接限制, 好像close没有效果,一直没有输出"释放了"
同问,问题解决了吗?我也碰到了相同问题@百舸争流