企业级 BO 层到 SQL Server MAX 连接
本文关键字:MAX 连接 Server SQL BO 层到 企业级 | 更新日期: 2023-09-27 18:36:07
我们有一个应用程序,大约有 60,000 台客户端计算机访问它。 以前我们有一个分布式模型,但我们正在通过创建一个 BO 层并通过 WAN 调用进入它来转向 SaaS。 我们使用 LINQ to Entities 从 BO 层访问数据库。 我们的多租户模型是联合的,因此由多个存储组成的"企业"位于不同的 sql 服务器上(每台服务器通常有大约 200 个"企业")。
每个 BO 服务器都是双处理器 8 核,带 HT(32 个逻辑)。 IIS 设置为最多具有 32 个工作进程。
BO 层运行良好,因为每次调用都会拉取与该企业关联的连接字符串,然后与正确的数据库通信。 我遇到的问题是我们有 1/4 的客户端在和大约 15 个 BO 服务器上,我注意到我们每个数据库服务器都有 3000+ 个开放连接,并且还在增长。
知道为什么它会这样增长吗? 我应该设置什么来让它重用连接(连接池似乎打开),以防止它像这样淹没每个数据库服务器? 还有其他建议吗?
这可能是纯粹的架构问题。
您总共有多少台数据库服务器?工作负载问题是否在某些数据库服务器上很重,而在其他服务器上则不重?
如果是这种情况,那么考虑如何将不同的企业分区到不同的数据库服务器会有所帮助。或者在负载较重的数据库服务器中进一步对数据进行分区。另一种技术是将企业的不同表垂直分区到不同的数据库,前提是没有跨垂直分区表的连接。