0

我正在 Windows Server 2008 R2 服务器上的 IIS7 下部署 MVC2 应用程序,该服务器具有强大的功能。它连接到 SQL Server 2008 数据库,应用程序的性能比在开发人员工作站上的调试器中运行时(连接到相同的 SQL Server 数据库)要慢得多。我已经检查了网络连接,事件日志中没有任何内容表明 Windows 存在问题。我还在数据库服务器上运行了 Profiler,并且查询很快就启动了。

任何有关诊断此性能问题的帮助将不胜感激。我什至构建了一个新的 2008 R2 服务器来测试它,希望它是服务器本身,但性能是相同的。

谢谢

编辑1:

IIS 在运行 Windows Server 2008 R2 Standard、32GB 内存的 Dell R710 服务器上运行。SQL Server 2008 托管在运行 Server 2008 R2 Standard、12GB 内存的单独 R710 上。最初我在 VM 上运行 IIS,但我将其移至物理机,以查看性能下降是否是由于 VM 造成的。我在两者上都经历了相同的表现,所以看起来这不是一个因素。

编辑2:

似乎打开与数据库的连接是瓶颈的一部分,随后触发存储过程也需要相当长的时间:

-打开数据库连接:5 秒(后续连接被缓存,因此它们不需要 5 秒)

-第一个存储过程:< 1 秒

-第二个sproc:5秒

-第三个存储过程:< 1 秒

-第四个存储过程:< 1 秒

-第五个sproc:6秒

4

2 回答 2

2

首先,Windows Server 2008 R2 有 IIS 7.5,而不是 IIS7。可能没关系。但是,它是一个不同的版本。

其次,你需要找出瓶颈在哪里。尝试删除查询并仅使用虚拟数据。还是慢吗?如果不是,那么它与数据访问无关。如果是这样,那么你知道这是一个数据访问问题。

于 2011-04-26T19:39:49.340 回答
1

以下是有关优化 ASP.NET MVC 应用程序的演示文稿中的幻灯片。他们能够将应用程序的性能从 8 个请求/秒提高到 400 个请求/秒。

他们在幻灯片中提到了他们如何对其进行分析和识别瓶颈(查询编译、对 RenderPartial 的多次调用、url 生成等),并在演示结束时给出了一些提示。

于 2011-04-27T05:10:47.190 回答