页面挂起后,IIS请求排队

时间:2016-08-24 19:53:25

标签: c# asp.net iis dotnetnuke

当一个页面需要很长时间才能在IIS中处理时,所有其他页面请求都会被延迟,直到第一个页面请求超时或响应。

这是由具有高响应时间的第三方API揭示的。但是,我可以通过在任何页面中放置Sleep来复制该问题。

我们正在使用DNN 7.0.6版

例如:

页面http://www.website.com/foo.aspx在Page_Load中包含代码System.Threading.Thread.Sleep(10000);

当此页面处于休眠状态时,请求http://www.website.com/bar.aspx。 Bar.aspx(通常会立即响应的页面)在foo.aspx完成请求之前不会响应。

从IIS日志中,您可以看到以下过程:

#Fields: date time cs-uri-stem sc-status sc-substatus sc-win32-status time-taken
2016-08-24 19:44:20 /bar.aspx 200 0 0 69
2016-08-24 19:44:24 /foo.aspx 200 0 0 10053
2016-08-24 19:44:24 /bar.aspx 200 0 0 9204
2016-08-24 19:44:26 /bar.aspx 200 0 0 91

我尝试过添加其他工作进程,但问题仍然存在。

我觉得我错过了一些简单的事情。我只是忽略了IIS或DNN工作的一些基本方式吗?可以采取任何措施来防止这种情况发生吗?

0 个答案:

没有答案