我们有一个应用程序,大约有 60,000 台客户端机器访问它。以前我们有一个分布式模型,但我们正在通过创建一个 BO 层并通过 WAN 调用它来迁移到 SaaS。我们使用 LINQ to Entities 从 BO 层访问数据库。我们的多租户模型是联合的,因此由多个商店组成的“企业”位于不同的 sql 服务器上(每台服务器通常有大约 200 个“企业”)。
每个 BO 服务器都是双处理器 8 核,具有 HT(32 个逻辑)。IIS 设置为拥有 32 个最大工作进程。
BO 层工作得很好,因为每次调用都会提取与该企业关联的连接字符串,然后与正确的数据库进行对话。我遇到的问题是我们有 1/4 的客户端和大约 15 台 BO 服务器,我注意到我们有 3000 多个开放连接到每个数据库服务器并且它还在增长。
知道为什么它会这样增长吗?我应该在哪里设置使其重用连接(连接池似乎已打开),以防止它像这样淹没每个数据库服务器?还有其他建议吗?