Resolve SharePoint/ IIS Site Slow Initial Load Issue

There are two ways you can improve the initial load time of a SharePoint/ IIS site:

  • Setting application pool's start mode to AlwaysRunning from OnDemand.
    Open IIS, select application pool of your site, go to Advanced Settings and then set start mode to AlwaysRunning).

    setting

    By setting the above option, your site/application loads fast all the time except the very first load after IIS Reset.

  • Every Application's/ Site's application pool recycling is set at a specific time or regular intervals. To overcome the issue of first load, IIS 8.0 has Application Initialization feature,

    Version Notes
    IIS 8.0 Application Initialization was built-in for IIS 8.0.
    IIS 7.5 Application Initialization was released as an out-of-band module for IIS 7.5.
    IIS 7.0 Application Initialization was not supported for IIS 7.0.

    roles

    For further steps to configure this application initialization, please visit Configuration.

If you find the above solution is tedious or not working, you can go ahead with below simple steps.

  • Open notepad, add the below code with site(s) you wanted to load automatically
               $client = New-Object System.Net.Webclient
               $client.UseDefaultCredentials = $true
               $webpage = $client.DownloadString($url)
  • Save the file with name scriptsload.ps1 under C:\Scripts
  • Create a Window Task Scheduler with name to it and schedule it to run on daily morning with below parameters.
  • Action:
    • Program / Scripts: C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe
    • Add arguements: -ExecutionPolicy Bypass -file "C:\scripts\scriptsload.ps1" \r