有谁遇到过sequelize连接池释放的问题吗
发布于 5 年前 作者 qinyang912 4503 次浏览 最后一次编辑是 4 年前 来自 问答

我代码里连接池部分的定义是这样的,但是请求5次之后,再请求,会被挂起。感觉应该是连接池没有自动释放造成的,但不知道该怎么处理。难道需要每次调用完了之后,在finally里手动释放连接?

{
      "pool":{
			"max": 5,
			"min": 0,
			"idle": 100,
			"log": true
		  }
  }
5 回复

调用完肯定要释放,不然怎么知道你确实已经用完了?释放后连接池不会立即解除连接,在过期之前若有别的代码请求就会再次返回该连接以供使用。

@klesh 嗯。我还是不怎么清楚sequelize的连接池到底需不需要手动去释放。我找到自己的原因了,原来是我调用了事务,某些提前结束promise的操作没有调用rollback导致的。😃

噢,是sequelize,那确实是不需要手动释放的。弄错了

@qinyang912 ,我也在做压力测试,发现sequelize提示promise操作内存溢出,这和连接池有关吗,max越大内存溢出可能性越大。

@qinyang912 能跟我说说你的解决方案么,感谢

回到顶部