节点/快速挂起请求

时间:2013-10-16 07:06:32

标签: javascript performance node.js express node-mysql

我在Node.js方面有点新鲜,现在很棒。我在本地运行节点(/ w express)时遇到了一个小问题 - 在第10个请求之后的每个请求都挂起并在Chrome Inspect Network中标记为Pending。

至于模块,我使用较少的中间件,快递,玉和MySQL,我只做一个SQL查询(使用mysql.createPool)。为什么此请求仍处于待定状态,我该如何解决此问题?

由于我是Node的新手,我不确定我是否已经尝试了所有内容,所以任何帮助都会受到赞赏!

1 个答案:

答案 0 :(得分:3)

听起来你没有发布你从池中回来的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(...);
  });
});