pro*_*ype 2 javascript performance node.js express node-mysql
我对 Node.js 还很陌生,目前它非常棒。我在本地运行节点 (/w express) 时遇到了一个小问题 - 第 10 个请求之后的每个请求都会挂起,并在 Chrome 检查网络中标记为待处理。
至于模块,我使用 less-middleware、express、jade 和 MySQL,并且我只执行一个 SQL 查询(使用 mysql.createPool)。为什么此请求仍处于待处理状态?我该如何解决此问题?
由于我是 Node 的新人,我不确定我是否已经尝试过所有方法,因此我们将不胜感激!
听起来您没有释放从池中恢复的 MySQL 连接。如果不这样做,池将耗尽可用连接,并开始等待任何可用连接(直到那时,停止请求)。
所以你的代码应该类似于:
var pool = mysql.createPool(...);
...
// in your request handler:
pool.getConnection(function(err, connection) {
if (err) ...handle error...;
connection.query(function(err, results) {
// release connection
connection.release();
// handle results
...
// send back a response
res.send(...);
});
});
Run Code Online (Sandbox Code Playgroud)