0

我有一个使用 SQL 服务器数据库在 ASP .NET MVC 3 中开发的应用程序。

除此之外,我有一个控制台应用程序,它调用外部 Web 服务并使用信息和业务规则更新同一个数据库。(基本上我们从 Web 服务中迭代记录并处理业务规则并更新相同的数据库),我们已经使用 Windows 调度程序配置了控制台应用程序以定期处理它。

问题是,当我的控制台应用程序定期运行时,它使用了 100% 的 CPU 使用率(因为我们从 Web 服务中获得了 2000 多条记录),因此我当前的 MVC 应用程序正在运行或者有时工作非常缓慢因为这两个应用程序都配置在同一个 Windows 服务器上。

任何人都可以让我知道我将如何解决这个问题,因为我有两个应用程序都使用的中央数据库,我希望这两个东西都在同一台服务器上。

提前致谢。

4

1 回答 1

1

您没有提供任何人可以真正提供解决方案的任何细节,所以我将简单地建议我将如何处理它。

首先,我会和 DBA 一起检查数据库模式,以确保没有表锁之类的东西(或者如果有,想出弥补它们的策略)。然后,我将使用 SQL Server 探查器查看在这些东西运行时 SQL Server 中哪里(或是否)有任何瓶颈。然后我会分析控制台应用程序以确保它没有做一些它不需要做的事情。我什至可能会考虑对网站进行概要分析,以查看其中是否有任何可能导致缓慢的内容。

在那之后,我会弄清楚如何摆脱控制台应用程序并将其功能应用到站点中。在给定的 Web 请求上生成另一个应用程序是不可扩展的。一次进来的不止几个,你有可能很容易让服务器陷入困境。

于 2012-08-13T14:31:58.307 回答