超时时间已到,但是尚未从池中获取连接,

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

超时时间已到,但是尚未从池中获取连接,

【背景】正式账套使用过程时不时出现“超时时间己到,超时己到,但是尚未从池中获得连接,测试账套是正常的,调整了相关参数,是两台Server,MC/APP+DB,APP配置(24C48U+96G内存),DB配置(20C40U+64G内存),DB版本是SQL server 2016标准版,正式/测试账套(数据中心)大小都是22G,

QQ图片20211105154715.webp


【排查思路】

  1. 先检查下数据库相关参数最大并行度、最大内存、快照隔离,参考金蝶云星空使用SQL SERVER常规优化,此处不赘述;

  2. IIS回收设置,详见客户端闪退,此处不赘述;

  3. 查看云星空日志,不断有提示超时时间己到,超时己到,但是尚未从池中获得连接,

  4. 查看数据库日志,对数据库进行数据库优化-重建索引+更新统计信息,还是出现提示,

  5. 查看APP和DB会话连接,打开 cmd  输入命令netstat -ano|find "ESTABLISHED" /C ,看到会话量较大,


    QQ图片20211105154621.webp

QQ图片20211105154628.webp

6.进一步查看数据库session资源使用情况,执行下列SQL,可以看出资源用满了,看到SQL语句是二开的,跟二开同事做了沟通之后,问题解决。

select host_process_id,db_name(database_id) dbname,count(*) SessionSum from sys.dm_exec_sessions group by host_process_id,db_name(database_id),


select b.name ,(SELECT TEXT FROM  SYS.DM_EXEC_SQL_TEXT(a.SQL_HANDLE) ) FSQLTEXT ,a.*  from sys.sysprocesses a  inner join sys.databases  b on a.dbid = b.database_id where --b.name ='master' and  (SELECT TEXT FROM  SYS.DM_EXEC_SQL_TEXT(a.SQL_HANDLE) )='xp_cmdshell' -- hostname ='DTDW7BT2P03V109' a.program_name ='.Net SqlClient Data Provider'


QQ截图20211108093315.webp




超时时间已到,但是尚未从池中获取连接,

【背景】正式账套使用过程时不时出现“超时时间己到,超时己到,但是尚未从池中获得连接,测试账套是正常的,调整了相关参数,是两台Server...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息