mysql2におけるコネクションプールの主要設定オプション
MySQL
Node.js
mysql2
知識
運用
Node.jsのmysql2ライブラリでコネクションプールを作成する際の主要な設定項目。
typescript
mysql.createPool({
connectionLimit: 50, // プール内の最大コネクション数
waitForConnections: true, // Pool枯渇時に待機するか(false=即エラー)
queueLimit: 0, // 待機キューの上限(0=無制限)
maxIdle: 10, // アイドル保持する最大数
idleTimeout: 60000, // アイドルタイムアウト(ms)
enableKeepAlive: true, // TCP Keep-Alive有効化
keepAliveInitialDelay: 0, // Keep-Alive初期遅延(ms)
})各設定の効果
connectionLimitのみ設定して他を省略すると、デフォルト値が使われるidleTimeoutでアイドル状態が続いたコネクションを自動切断enableKeepAliveでMySQL側のwait_timeoutによるタイムアウトを回避