long access times and errors in iis application

Posted by Jens Olsson on Server Fault See other posts from Server Fault or by Jens Olsson
Published on 2010-10-01T11:26:19Z Indexed on 2011/01/05 11:55 UTC
Read the original article Hit count: 286

Hi,

I am having an issue with an IIS application (details of environment at the end of the message).

The web site works great most of the time and I cannot reproduce any error in our test system. On the live system however with on averare of 5-15 requests per second I have a problem with that some requests (about 0.05%) will take over 300 seconds to complete. The other requests complete withing 5-10 seconds.

It seem like if all the errornous requests end up with a Timer_EntityBody error in the error log. I have never seen this as an end user but I guess that they will receive some kind of error message.

I am trying to find out what can be causing this errornous behaviour. Any ideas are welcome. I have read something about that there can be an MTU issue if ICMP and MTU protocols are blocked in the firewall. Does that sound reasonable? I have also read about updating to IIS 7 should do the trick. Does it sound reasonable?

I think that the problem has another cause but I have no idea of what. I have tried running hte perormance monitor, monitoring for database locks and active transaction counts. I can see some of these in the perfmon log for the MSSQL server (another machine) for example:

  • Active transactions is sometimes peaking and sometimes for long periods
  • Lock waits per seconds is sometimes peaking
  • Transactions per second is sometimes peaking
  • Page IO Latch wait is sometimes peaking
  • Lock wait time (ms) is sometimes peaking

But I cannot see that any of these correlate to the errors in the IIS error log.

On the IIS server machine I can also see with perfmon that some values peak a few times during a day:

  • Request execution time
  • Avg disk queue length

I can neither see that any of these correlate to the errors in the IIS error log.

In the below code I have anonymized by replacing some parts with HIDDEN The following can be seen in the access log

2010-10-01 08:35:05 W3SVC1301873091 **HIDDEN** POST /**HIDDEN**/Modules/BalanceModule.aspx - 80 - **HIDDEN** Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+.NET+CLR+2.0.50727;+.NET+CLR+3.0.4506.2152;+.NET+CLR+3.5.30729;+.NET4.0C;+.NET4.0E) ASP.NET_SessionId=**HIDDEN** 400 0 64 0 2241 127799

At the same time the following can be seen in the error log:

2010-10-01 08:35:05 **HIDDEN** 1999 **HIDDEN** 80 HTTP/1.0 POST /**HIDDEN**/Modules/BalanceModule.aspx - 1301873091 Timer_EntityBody Test+Pool

I can tell the following about the environment:

Server: Windows Server 2003 x64 SP2 running on VMWare
HTTP Server: IIS v6.0 with ASP.NET 2.0.50727
Antivirus: Trend Micro OfficeScan (Is it a good idea to have this on a server?)

© Server Fault or respective owner

Related posts about windows-server-2003

Related posts about sql-server