1

目前,我们的 Asp mvc LOB Web 应用程序与 SQL 服务器数据库通信。像往常一样,这是通过 web.config 中的连接字符串设置的。

我们的一些大客户遇到了性能问题,这些客户在数据库上运行一些非常大的报告和 kpi,这会阻塞并导致其他用户出现性能问题。

到目前为止,我们的解决方案是在数据库上设置复制并将所有报告和 kpi 数据调用传递给复制的服务器,并将主服务器留作常见的关键用途。

无需将另一个连接字符串添加到复制服务器的配置并通过应用程序并引导报告、kpi 和其他对辅助数据库的只读调用有没有办法可以将 web.config 连接字符串指向中间节点这将分析数据请求并相应地将其洗牌到适当的数据库?即,如果数据调用是数据库上的标准更新过程,它将把它洗牌到主数据库,如果有报告正在加载,它将把它传递给辅助复制服务器。

我们只需要为具有较大数据库的较大客户添加此节点,因此如果我们可以在当前应用程序设置之外添加一个节点,它将为我们节省大量代码更改和所需的测试。

提前致谢

4

1 回答 1

1

我会说您可能更容易为报告等添加第二个连接字符串,而不是尝试分析请求。

原因如下:

  1. 您可能很清楚系统的哪些区域需要进入第二个数据库。识别它们后,您可以将它们指向第二个数据库,而不必担心来回切换它们。

  2. 您可以在配置文件中创建 2 个连接字符串。如果您只有一个用于较小客户的数据库,则可以将两个连接都指向同一个数据库。对于更大的客户,您可以使用两个不同的连接字符串。这样,您将使系统灵活且可配置。

  3. 分析请求通常很复杂,在这种情况下增加这种额外的复杂性似乎是没有根据的。

我所有的评论都是基于你上面写的,可能不是绝对有效的——你知道它们系统更好,如果你愿意就使用它们。

于 2013-10-30T22:20:49.450 回答