项目运行一段时间后 总是打不开了 报错 可能存在泄露 但是排除时 方法给出的状态有异常 返回
SqlSugar
沟通中
1
696
SqlSugar新手 发布于2025/12/21
悬赏:0 飞吻
项目运行一段时间后 接口访问数据库一直提示: Connect Timeout expired. All pooled connections are in use.
怀疑是链接未关闭导致连接池满了吧
项目Sqlsugar配置中 也加入了 config.IsAutoCloseConnection = true;这个自动关闭
当我想检查执行完sql后 事后关闭连接时 出现疑问 具体可查看一下截图


从以上方法中可以看到 执行sql前 连接状态是 closed 关闭状态 执行sql后 连接状态是 open 我猜想 是否是 执行前 链接还在链接池中 未执行 等执行sql后 链接才被拿来使用 所以状态是 open 那我现在 想检查是否存在未关闭连接 检测泄露的话 那我应该怎么检测呢
热忱回答(1)
-
fate sta VIP0
2025/12/22这个错就2种可能
1、并发过高,超过数据库处理上限 (异步+maxpoolsize=512处理),如果还不行考虑减少数据库请求次数。
2、并发不高,出现这个一般一般是线程安全引起的释放失败,看文档:偶发
0 回复