5

I've got a page that couldn't be more simple:

<%@ Page Trace="true" %>
<html>
<head></head>
<body>
<h1>Hello World</h1>
<a href="/OtherPage.aspx"/>Other Page</a>

<p><%=DateTime.Now.ToString()%>
</body>
</html>

... but it takes forever to load. There is no database or web service call to slow it down. The trace command reveals that the time from Begin PreInot to End Render is .000049 seconds, but the page itself takes several seconds to load. It is a new web site I just created for this test, and just has a web.config & two test files. The only thing in the web.config is access control:

<authorization><allow users="domain\me" /><deny users = "*"/></authorization>

What else could IIS be doing with all of that time?

5
  • Have yoy run it several times? Does each subsequent run still take several seconds? Nov 4, 2011 at 23:15
  • Yes, it's not a compile delay. Also, the server is very quiet. Gigs of RAM to spare and CPU usage is near 0%, sometimes 2%.
    – John Hoge
    Nov 4, 2011 at 23:29
  • Do you see anything in the System log about having difficulty contacting a domain controller?
    – Skyhawk
    Nov 5, 2011 at 3:26
  • Nothing in the system log. This particular server isn't part of a domain.
    – John Hoge
    Nov 5, 2011 at 13:38
  • Are you sure the delay is in IIS? Where are you calling the page from? Have you tried from another computer and/or web browser?
    – Massimo
    May 29, 2014 at 21:28

4 Answers 4

1

Time to turn on Failed IIS Request Tracing!

I realise that the request is actually not failing, but you should be able to set Status 200 on the trace to track successful requests as well. There is a tutorial on iis.net that tells you to use failed request tracing for tracing successful requests, so I assume it should work.

2
  • I've set up failed request tracing but it is giving me very strange results. The Request Summary says "Time Taken: 0 msec" and the Performance View tab under Request Details also lists 0ms under every step.
    – John Hoge
    Nov 5, 2011 at 13:39
  • 1
    Very odd. Perhaps the extra time is being spent outside of iis? Nov 6, 2011 at 21:06
1

Just a quick note what happend in my case:

Neither Process Monitor nor Failed Request Tracing was of any help. The website simply loaded (nearly) forever.

Finally, after waiting for several minutes an error occurred stating that it "cannot locate the network path".

The reason was that I entered a connection string to a non-existing SQL Server instance, so it somehow keept searching for the server. Finally, a timeout occured.

The solution was to simply specify the correct SQL Server in the connection string inside Web.Config.

0

I had similar problems with unusable applications on IIS on production environment. A single web application with one app pool was running extremely slow.

I just set the property "Enable 32-bit applications" flag to true in the advanced settings of my app pools and now I can run 3 web applications with 3 distinct app pools.

More detailed instructions here: http://forums.iis.net/t/1189907.aspx/1

0

Time to roll-out MS SysInternals Process Monitor. Get it running, turn on "drop filtered events", then setup a filter "process name is w3wp.exe" and monitor away. Also, drag the Duration column over to the left, so its easier to see.

I have seen IIS 7.5 have "issues" with 32-bit ASP.NET code, but your test page is so minimal, I can't believe it would cause an issue, even if it were using 32-bit .NET.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .