node-mssqlパッケージを使用して、Node.jsで API エンドポイントを作成しています。
パッケージのウェブサイトではあまり説明されていないため、パッケージが接続プールをどのように処理するのか疑問に思っています。
プールを最大 10 にできるようにするために、私の構成には次のものがあります。
var config = {
server: '',
user: '',
password: '',
database: '',
pool: {
max: 10,
min: 0,
idleTimeoutMillis: 30000
}
}
これらの行を各リクエストに追加したので、Node コンソールで何が起こっているかを確認できます...
// 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())
ブラウザでエンドポイントに移動し、更新を数分間保持しました。ノードコンソールでは、上記のすべての出力は次のようになります...
SQL Pool - waitingClientsCount: 0
SQL Pool - getPoolSize: 1
SQL Pool - availableObjectsCount: 0
これらすべてのリクエストでプールサイズが増加することを期待していました。
プールは負荷に基づいて自動的に構成されますか、それとも何か誤解していますか?
編集:パッケージは、見た目からTediousドライバーを使用しています。