我的 webapp 的 API 响应非常缓慢。我查了一下,发现有hardly any query in slow query log。
似乎存在一些数据库连接瓶颈问题。
我检查了 mysql workbench 客户端连接选项卡,发现:
Total Connections: 892(这要高得多,但在 db restart 后归结为这个)
Connection Limit: 640
我的sequelize db连接代码如下:
'use strict'
const Sequelize = require('sequelize').Sequelize
const dbConfig = require('../config/database')
const logger = require('../helpers/logger').logger
let sequelize = new Sequelize(
dbConfig.name,
dbConfig.username,
dbConfig.password,
{
host: dbConfig.host,
port: dbConfig.port,
dialect: 'mysql',
define: {
charset: 'utf8mb4',
},
pool: {
max: dbConfig.poolMax,
min: dbConfig.poolMin,
acquire: dbConfig.poolAcquire,
idle: dbConfig.poolIdle
}
}
)
sequelize.authenticate()
.then(() => {
logger.info('[Sequelize] Connection Successful')
})
.catch((err) => {
logger.error(err, '[Sequelize] [authenticate] Some Error Occurred')
})
module.exports = sequelize
在哪里::
dbConfig.poolMin=0
dbConfig.poolMax=20
dbConfig.poolIdle=10000
dbConfig.poolAcquire=30000
