有谁遇到过sequelize连接池释放的问题吗
我代码里连接池部分的定义是这样的,但是请求5次之后,再请求,会被挂起。感觉应该是连接池没有自动释放造成的,但不知道该怎么处理。难道需要每次调用完了之后,在finally里手动释放连接?
{
"pool":{
"max": 5,
"min": 0,
"idle": 100,
"log": true
}
}
5 回复
调用完肯定要释放,不然怎么知道你确实已经用完了?释放后连接池不会立即解除连接,在过期之前若有别的代码请求就会再次返回该连接以供使用。
@klesh 嗯。我还是不怎么清楚sequelize的连接池到底需不需要手动去释放。我找到自己的原因了,原来是我调用了事务,某些提前结束promise的操作没有调用rollback导致的。😃
噢,是sequelize,那确实是不需要手动释放的。弄错了
@qinyang912 ,我也在做压力测试,发现sequelize提示promise操作内存溢出,这和连接池有关吗,max越大内存溢出可能性越大。
@qinyang912 能跟我说说你的解决方案么,感谢