SharePoint 2010 warm up
We are just now getting ready to role out SharePoint Foundation 2010 on our network. One thing that has always bothered me with SharePoint is how terribly slow it is when the first user hits the site. After much research it seems most people use what’s called a warm up script to hit the sites. As usual, nothing is ever easy. Most of the scripts I found didn’t work.
I finally found SPWakeUp on CodePlex http://spwakeup.codeplex.com/releases/view/52800 written in C#. I figured that would probably work better than VBScript or PowerShell, and even if it didn’t at least I could debug it easier. It worked pretty well up to the point of getting 401 errors back from each site; which means it didn’t work at all. Going through the logs on the server I see there are audit failures for logon with a failure reason of %%2304. Side note, the program is being run on one of the servers in the farm since it uses the Microsoft.Sharepoint dlls. It didn’t matter which account I used to run the application or which account I supplied in the arguments.
Digging around, I found this blog entry http://blogs.msdn.com/b/jiruss/archive/2008/10/21/loopback-security-check-feature-iis-7.aspx which in turn led to this Microsoft KB article http://support.microsoft.com/kb/896861 Not wanting to disable the loopback check on the front end servers I decided to do it on just one of the back end application servers in the farm that only hosts the central administration site. Worked perfectly using the farm account in the arguments, from a regular command prompt.
Next I looked at the application pools on the two front end servers in the NLB cluster and found that each one recycles the pool at a different time of day. So I setup the task scheduler to run SPWakeUp 5 seconds after those times. I’ll find out tomorrow if the sites come up quickly.