Our users were complaing about performance so I checked all our servers and noted none were being taxed very much and when I checked the DB server it also looked like it was in a comotose state except for a few short lived deadlocks when a crawl started. As an experiment I decided to run the wakeup script at 10 minute intervals through out the day. Voila, performance is good, I look like a genius and I even got a hug from one particularly happy user. The question is: is running the wakeup script with this frequency a bad thing? Is the fact that I need to run it so often to get acceptable performance indicative of some underlying issue that needs looking at? I would be grateful for any ideas or suggestions. Thanks
You need to schedule this only once provided the IIS is not getting resetted regularly. Schedule it in such a way that it run after any IIS RESET operation.
Basically what the wakeup script does is, it initiates a HTTP request to the sites/site collections which goes through IIS. Once IIS gets a request it caches information so further visit to the same page will be much improved (Also the aspx files will get compiled and cached etc).
Invoking the wakeup script multiple times will not improve any performances rather it degrades (Also there is no harm in running the wakeup script multiple times)
Running the warm-up script in 10 Min interval will not hurt your farm, as it is one extra request to your sites. This is required usually when App pool recycled or IIS reset happen.
But rather running the Warm-up Script again and again, i would definitely check why performance goes down and on what action it goes down. You can enable the developer dash board and check which action is taking too much time. Also check the user browsers, try same user from different machine.
You may thing about the properly configuring the Object Cache, Blob Cache to decrease the traffic on DB servers.