连接到外部数据库时,ASP.NET Mvc网站会冻结

时间:2013-10-03 20:27:56

标签: c# asp.net sql-server ajax asp.net-mvc

今天我想出了一些与我们的网站非常奇怪的东西。 我们遇到了性能问题。 IIS 7.5(Windows 2008)上的Asp.NET Mvc Web每X次冻结一次。 它是一个普通的电子商务系统,连接到同一Infastructure上的MSSQL Server。 但是当你进入产品的详细页面时,我们在页面加载后通过AJAX询问股票, 我们有2个仓库,我们要问库存。

今天,另一个仓库出现服务器问题,从我们的电子商务网站到这个服务器的连接(外部和简单的连接,1个查询询问股票)每次连接到这个服务器都有时间。但正如我所说,这个外部服务器不再涉及ajax调用中的查询。

奇怪的是,在建立与此外部服务器的连接时,所有用户(整个IIS池)都被冻结。连接超时后,所有请求都会被处理,但直到那时才会被处理。

这是正常的吗?我认为所有请求都是在一个自己的“线程”中完成的。 P.D.它不是链接服务器或其他东西。它直接连接到那里和1个查询,仅此而已。

一些建议?

1 个答案:

答案 0 :(得分:0)

由于提供了非常一般的体系结构描述和有限的诊断信息,因此有很多原因可能会发生这种情况。

然而,有一件事是我想到的,值得一试。有only so many IIS worker threads and completion ports可用。如果所有(或非常多)工作线程最终等待连接失败,则没有(或很少)工作线程可用于处理其他请求。

如果您可以在开发或QA中重现问题(例如,故意错误配置连接),您可以尝试诊断IIS的状态。查看此指南:

http://www.orcsweb.com/blog/terri/troubleshoot-iis-application-hangs-unresponsiveness/