如何判断 SQL 连接是否过多?

Bob*_*nes 5 sql-server connection-string

我正在创建一个网站,我想提供服务。每个客户都会有自己的数据库,每个站点都需要两个数据库。如果我有 100 个活跃客户,并且他们都在自己的站点上工作,那么我可能有 200 个不同的连接字符串。

我如何知道多少是太多?我不想等到遇到问题才去解决——我想提前做好计划。

boj*_*boj 1

您使用 ASP.NET 吗?.NET 通过连接池重用 SQL 连接。真正的问题是,有多少个连接直接打开:

select COUNT(*) 
from master.dbo.sysprocesses p
join master.dbo.sysdatabases d on p.dbID = d.dbID
where d.name = '<database>'
Run Code Online (Sandbox Code Playgroud)

你可以从你的 DAL 中调用这个语句,但我认为这不是必需的。为什么?我有使用 MSSQL 2000 的经验。它在数百个开放连接下很稳定。

如果您的网络服务是无状态的(我认为这是一种常见且良好的模式),您可以避免该连接问题。

对于有状态(我的意思是有永久开放连接)服务,很难规划,我认为您应该重新考虑您的设计。