【问题标题】:Team Foundation Server creates too many connections with TFS Database(SQL Server)Team Foundation Server 与 TFS 数据库(SQL Server)的连接过多
【发布时间】:2018-10-19 11:22:24
【问题描述】:

我正在使用 Java API 和 TFS SDK 从 TFS 服务器查询变更集信息。最近我发现有太多(> 800)个连接从 TFS 服务器打开(闲置)到 TFS 数据库。我没有直接与 TFS 服务器数据库交互,但我使用 TFS SDK API 连接到 TFS 服务器。

这可能是 TFS SDK 的连接精简问题吗?我正在使用 VersionControlClient 和 WorkItemClient,并且在完成 API 调用后我将关闭所有这些连接。

我在这里缺少什么?为什么从 TFS Server 到 TFS Server 数据库(SQL Server 数据库)的连接太多?我需要关闭 TFS SDK API 中的其他连接吗?

【问题讨论】:

  • 你是如何检查连接的?
  • 我使用这个查询来获取到 SQL Server 的所有连接。 SELECT DB_NAME(dbid) as DBName, COUNT(dbid) as NumberOfConnections, loginame as LoginName, hostname, hostprocess FROM sys.sysprocesses with (nolock) WHERE dbid > 0 GROUP BY dbid, loginame, hostname, hostprocess;
  • 除此之外,我从 TFS SDK 使用的这些 API:Changeset[] changesets = vcc .queryHistory(serverPath, LatestVersionSpec.INSTANCE, 0, RecursionType.FULL, null, new DateVersionSpec(startDate), new DateVersionSpec(endDate), Integer.MAX_VALUE, true, true, true, false);
  • vcc.queryBranchObjects(ItemIdentifier, RecursionType.FULL); IdentityManagementService.readIdentity(IdentitySearchFactor.ACCOUNT_NAME, userName, MembershipQuery.DIRECT,ReadIdentityOptions.NONE); vcc.getChangesForChangeset(changesetId, true, Integer.MAX_VALUE, null, null, true);
  • 有我正在使用的API。不确定,是否其中任何一个会导致连接泄漏。

标签: java tfs tfs-sdk


【解决方案1】:

您可以尝试使用以下查询来检查每个数据库的连接数,并查看哪个连接数最多:

SELECT DB_NAME(dbid) as DBName, 
       COUNT(dbid) as NumberOfConnections, 
       loginame as LoginName 
FROM sys.sysprocesses 
WHERE dbid > 0 
GROUP BY dbid, loginame

您可以使用sp_who 存储过程列出所有当前进程。

USE master;  
GO  
EXEC sp_who;  
GO

【讨论】:

  • 是的,我使用以下查询来检查否。连接数:SELECT DB_NAME(dbid) 作为 DBName,COUNT(dbid) 作为连接数,loginame 作为 LoginName,hostname,hostprocess FROM sys.sysprocesses with (nolock) WHERE dbid > 0 GROUP BY dbid, loginame, hostname, hostprocess;
  • 我发现其中一个 Collections 数据库有太多打开的连接。不确定是因为我正在使用的 API 中的任何连接泄漏还是 Team Foundation Server 的问题。
猜你喜欢
  • 2019-12-02
  • 1970-01-01
  • 2010-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-09
  • 1970-01-01
相关资源
最近更新 更多