Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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?

share|improve this question
    
Have yoy run it several times? Does each subsequent run still take several seconds? –  Peter Schofield Nov 4 '11 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 '11 at 23:29
    
Do you see anything in the System log about having difficulty contacting a domain controller? –  Skyhawk Nov 5 '11 at 3:26
    
Nothing in the system log. This particular server isn't part of a domain. –  John Hoge Nov 5 '11 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 at 21:28

4 Answers 4

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.

share|improve this answer
    
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 '11 at 13:39
1  
Very odd. Perhaps the extra time is being spent outside of iis? –  Mark Henderson Nov 6 '11 at 21:06

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

share|improve this answer

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.

share|improve this answer

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.