1

I have a webapplicaton on IIS 6.0. It constantly processes huge amount of short-time requests (15-30 ms process time). When there comes some (1-10) long-time requests all short-time requests slow down (up to 2000-6000 ms process time and more than 100000 for some of them).

Should there be like an isolation between requests in IIS? It isn't supposed that one requests should not interrupt another?

In IIS logs it is look like:

[Normal work]
cs-host sc-status sc-substatus sc-win32-status sc-bytes cs-bytes time-taken
192.168.1.7 200 0 0 2394 524 734
192.168.1.7 200 0 0 2394 524 0   
192.168.1.7 200 0 0 2394 524 0
192.168.1.7 200 0 0 2394 524 15
192.168.1.7 200 0 0 2394 524 15
192.168.1.7 200 0 0 2394 524 0
192.168.1.7 200 0 0 2394 524 0
192.168.1.7 200 0 0 2394 524 15
192.168.1.7 200 0 0 2394 524 46

[Slowdown]
cs-host sc-status sc-substatus sc-win32-status sc-bytes cs-bytes time-taken
192.168.1.7 200 0 64 0 522 508251
192.168.1.7 200 0 64 0 522 91827
192.168.1.7 200 0 64 0 522 386438
192.168.1.7 200 0 64 0 522 445947
192.168.1.7 200 0 0 178 522 35545
192.168.1.7 200 0 64 0 522 274130

sc-win32-status 64 means "The specified network is no longer available" but there was no disconnections. I tried to tune IIS up with tools like IISTuner (http://iistuner.codeplex.com/) it causes no effect.

  • Why such situation happens?
  • How to troubleshoot that?
4

1 回答 1

0

看起来所有的麻烦都在应用程序本身。

我们使用了带有 DataGridView 的 ASP.NET 表单(页面是在服务器端形成的)。在长时间运行的请求到来时,服务器必须处理它并将数据加载到它的内存中——这样只会阻止其他活动。

我们使用 ASP.NET MVC(客户端页面)重写应用程序,麻烦就消失了。

于 2014-02-05T11:01:43.967 回答