错误: Connect Timeout expired. All pooled connections are 返回

SqlSugar
6 151
该叫什么 liftlei 发布于2周前
悬赏:0 飞吻

请问这是数据库性能问题吗? 已经用的是 mysqlconnector版本了。。代码就很普通一个update  await都有用。。

[EventId]

[ErrorTime]2021-09-08 16:20:31.1231

   at FastOrder.Core.Services.Impl.PushRouteService.UpdateOrderRouteStatusAsync(Order model) in /devcloud/slavespace/slave1-new/workspace/j_ISbjwSAd/FastOrder.Core.Services/Impl/PushRouteService.cs:line 176

   at SqlSugar.QueryableProvider`1.FirstAsync(Expression`1 expression)

   at SqlSugar.QueryableProvider`1.FirstAsync()

   at SqlSugar.QueryableProvider`1._ToListAsync[TResult]()

   at SqlSugar.QueryableProvider`1.GetDataAsync[TResult](KeyValuePair`2 sqlObj)

   at SqlSugar.AdoProvider.GetDataReaderAsync(String sql, SugarParameter[] parameters)

Chinese Message :  连接数据库过程中发生错误,检查服务器是否正常连接字符串是否正确,实在找不到原因请先Google错误信息:Connect Timeout expired. All pooled connections are in use..

SqlSugar.SqlSugarException: English Message : Connection open error . Connect Timeout expired. All pooled connections are in use.


热忱回答6

  • 但是我看连接也没那么多,最大也就 120左右。。脑壳痛。。

    image.pngimage.png

    0 回复
  •  按模版提供用例先自个测试,有问题发出用例代码   https://www.donet5.com/Home/Doc?typeId=2366  

    0 回复
  • Public void  GetAll(){  异步方法  }//错误
    Public async Task GetAll(){  异步方法  }//错误
    Public async void GetAll(){  await  异步方法  }//错误

    Public async Task GetAll(){  await  异步方法  }//正确

    Public async Task<int> GetAll(){  await  异步方法  }//正确


    检查异步用法是否正确

    0 回复
  •  mysqlconnector版本 我用了没问题

    0 回复
  • zbl zbl VIP0
    2周前

    .NET程序对max pool size的配置

     

    <add key="data" value="server=192.168.1.123; Port=3306; uid=root; pwd=root;database=data;pooling=true;min pool size=5;max pool size=512;connect timeout = 20; "/> 

     

     

     其中Max Pool Size如果未设置则默认为100,理论最大值为32767。最大连接数是连接池能申请的最大连接数,如果数据库连接请求超过此数,后面的数据库连接请求将被加入到等待队列中,这会影响之后的数据库操作。在等待队列中,默认等待与服务器的连接的时间为15秒。


    0 回复
  • @zbl:就是这个问题,谢谢!

    0 回复