node-mssql如何处理连接池?

我正在使用node-mssql包在Node中创build一个API端点。

我想知道包是如何处理连接池的,因为在包网站上没有太多解释。

在我的configuration中,我有以下几点,让游泳池达到10。

var config = { server: '', user: '', password: '', database: '', pool: { max: 10, min: 0, idleTimeoutMillis: 30000 } } 

我已经将这些行添加到每个请求,所以我可以看到节点控制台中发生了什么…

 // Dump info about connection pool console.log('SQL Pool - waitingClientsCount: ' + connection.pool.waitingClientsCount()) console.log('SQL Pool - getPoolSize: ' + connection.pool.getPoolSize()) console.log('SQL Pool - availableObjectsCount: ' + connection.pool.availableObjectsCount()) 

我在浏览器中浏览了端点,并进行了几分钟的刷新。 在Node控制台中,上面的每个输出都是这样的…

 SQL Pool - waitingClientsCount: 0 SQL Pool - getPoolSize: 1 SQL Pool - availableObjectsCount: 0 

我期待所有这些请求的池大小增加。

池是根据负载自动configuration的,还是我误解了一些东西?

编辑:包是使用它的外观的单调乏味的驱动程序。

在GitHub的项目问题跟踪器中find答案: https : //github.com/patriksimek/node-mssql/issues/118#issuecomment-92522160

答案是…

Clarkey,IIRC的默认池大小是10,如果你的请求返回速度不够快,第一个连接将被重用…如果你使用类似围攻的东西,如果你真的想testing的东西。 此外,iirc的连接将保持打开状态,等待30或60秒后再循环。