|  |      1yuxuan      2017-06-21 17:55:53 +08:00 记得 node 有个 pool 库可以搞连接池的 | 
|  |      2solee      2017-06-21 18:01:43 +08:00 const Sequelize = require('sequelize'); const logger = require('../logger'); var MySql = {}; var options = { dialect: 'mysql', logging: function (sql) { logger.trace(sql); }, pool: { max: 10, min: 0, idle: 10000 }, timezone: '+08:00' }; 连接池 | 
|  |      3cloud107202      2017-06-21 18:04:05 +08:00 1. node 单线程在用户态,v8 里针对 IO 是有线程池的(我的描述不一定很精准)    2. 能利用 3. 没影响 http://liyangready.github.io/2015/08/14/nodejs%E7%9C%9F%E7%9A%84%E6%98%AF%E5%8D%95%E7%BA%BF%E7%A8%8B%E5%90%97%EF%BC%9F/ | 
|  |      4acthtml OP @solee 恩,我也看到有些类库提供这些配置。但是对于第一个问题我还是不明白,在使用数据库中是否需要关闭连接来释放资源,以此来提高性能。 | 
|      5klesh      2017-06-21 23:02:05 +08:00 via Android 池是需要的,可以显著提高性能,使用池时一般叫 release , 不叫 close,代表将连接释放回池,实际上池在一定时间内会保持连接给别的代码使用。 node 使用异步模型,一个连接显然是不够的,假定一个请求使用一个连接,池中有十个连接,此时则可同时对十个并发进行处理,若池中只有一个连接,则只能一个个地处理。 若你只使用不 release,则在若干个请求之后程序不再响应。因之后的连接会一直在等待别的请求 release |