达梦数据库+SqlSugarCore+20UV 并发,连接池报错 返回
环境说明:
达梦测试数据
DM Database Server 64 V8
DB Version: 0x7000c
03134284172-20240321-222308-20093
Msg Version: 0
Gsu level(3-4) cnt: 3
Gsu level(5) cnt: 0
代码配置:
测试程序 .net 8 Api程序
依赖:
<ItemGroup>
<PackageReference Include="SqlSugarCore" Version="5.1.4.217" />
<PackageReference Include="DM.DmProvider" Version="8.3.1.47463" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
</ItemGroup>
配置项:
"ConnectionString": "Server=192.168.35.151;Port=5236;User Id=CUBESGATEWAY;PWD=intekey.com;SCHEMA=CUBESGATEWAY;connPooling=true;connectionTimeout=3600000;connPoolSize=1000",
压测环境 PostMan Cli:
postman performance run [xxxx] --vu-count 20 --duration 1 --load-profile fixed
20UV 持续 1min
压测结果:
刚开始还可以后续报错》
连接数据库过程中发生错误,检查服务器是否正常连接字符串是否正确,错误信息:6123,从连接池中获取连接时超时
[extraInfo]:{get}->{TryDequeue()}->{TryDequeue() failed}->{DequeueTimeout(timeout)}->
{DequeueTimeout(timeout) failed}->{totalCount=1000}->
{limit=1000}->{ConnPoolSize=1000}DbType="Dm";ConfigId="DispatchGateway.Dm".
去掉配置项连接池信息之后依旧报错:
SqlSugar.SqlSugarException: 连接数据库过程中发生错误,检查服务器是否正常连接字符串是否正确,
错误信息:6001,[192.168.35.151:5236 (UNKNOW, UNKNOW)]通常每个套接字地址(协议/网络地址/端口)只允许使用一次。
DbType="Dm";ConfigId="DispatchGateway.Dm".
热忱回答(2)
-
苦行者 VIP0
2周前补充压测结果截图:

0 回复 -
苦行者 VIP0
2周前已解决:
解决方案-》在业务逻辑代码中压测接口,
1、先插入一条记录
2、查询配置表
3、批量插入配置分发子任务表
三次数据库连接操作,会创建三条连接池
此时压测之后出现报错。
调整思路-》显示声明UseTran会创建一个连接池,公用这个连接,避免连接池耗尽,再次压测未复现错误信息
0 回复