Performance Issues w/o Caching

We have a site that we're building out and we're seeing page loadtimes of around 8 seconds to load. Now this is only happening on thefirst page load -- we have output caching enabled and subsequent loadsare near instant.

Does anybody else experience this kind of significant delay on firstpage loads? Is there anything we can do to make it load quicker? Orprepopulate the cache so that users during this phase can have abetter experience?

Hope you don't mind a newbie jumping in here but I have a relativequestion...

What is it that makes loading the home page so slow? I mean what is thecause? I have two SPS 3 sites in test environments and they both arepainfully slow. I have just the SPS 3 using SQL Express on fairly goodboxes. No users touch the sites except me.

I searched the archives and couldn't find anything so I'm asking here.

My gut is thinking too that it could be the JIT compiling, but an 8second first page load seems a bit excessive.

All of the pages are publishing pages, each with many (some up to10-12) user controls on the page. We're not currently usingaudiences. We do have custom navigation which displays all of thechildren and crawls back up to the root node of the site to displaythe path.

We are taking advantage of site collection output and object caching,don't have BLOB caching enabled because we're not storing many bigobjects in the CMS, maybe one or two images on a page (both <25 KB).

We have 2 app pools, one for our main site and one for the SSP. It'sa two server setup (one web app/one sql server db), with recentlybought hardy machines.

We actually use Joel's warmup scripts(blogs.msdn.com/.../697044.aspx) after wedo iisresets. But I didn't think that would have an effect on anypages after the initial first request to the site. Will do some moretesting with that though.

Just In Time: .NET DLLs are typically compiled specifically for theplatform that they are running on when they are called. While it ispossible to pre-compile it is uncommon. Hence, we talk about JITcompiling or JITing assemblies.

It takes some time to do this so the first call always takes longer thansubsequent calls. In not used for a while (I think it is 20 minutes bydefault) the assemblies will be dropped from memory requiring they getrecompiled the next time they are invoked.

Go4Sharepoint, is a Microsoft Featured Community.
Microsoft, Windows, Sharepoint, Sharepoint logo, Windows logo, etc are trademarks of the Microsoft Corporation.
All product names, logos, copyrights, and trademarks mentioned are acknowledged as the registered intellectual property of their respective owners. This site is not in any way affiliated with, nor has it been authorized, sponsored, or otherwise approved by, Microsoft Corporation.