I am looking for some guidance on how to warm up my web application after app pool recycle. So far I used standard Powershell warm-up scripts, but due to company policy we might need to find another solution. I found information that Application Initialization should meet my requirements. Unfortunately I wasn't able to make it work so far.

This is how I configured it in my environment: I have created host header web application with following Public URL: https://test.company.com I have configured bindings to use proper SSL certificate. Everything works fine. I have measured request time on my default page (https://test.company.com/default.aspx) using Developer Dashboard after app pool recycle. It took approximately 15 seconds.

Then I have configured Application Initialization according to this article: https://www.concentra.co.uk/blog/iis-application-initialisation-sharepoint-2013 In my case I have added following entry to web.config : enter image description here

As I read Application Initialization doesn't work for SSL: https://support.microsoft.com/en-us/help/2843964/application-initialization-module-fails-when-web-site-requires-ssl
Therefore I have added following rule to the web.config file of my web application: enter image description here

SSL Settings are set according to the article: enter image description here

Unfortunately when I try to access my default page I get Server Error: enter image description here

When I remove rewrite rule from web.config everything starts working fine (unfortunately without any performance improvement). Additionally I don't see any traffic in Task Manager after app pool recycle. As I understand it should send fake request if everything is configured fine.

My question is: what I did wrong and how can I fix it? Moreover do you know what kind of improvement should I notice after successful deployment (it is possible to go down to 5sec on response time)?

I would be very grateful for any advice in this matter.

1 Answer 1


I have not tried using Application Initialization but if you are getting 500 errors, there should be event logs or IIS logs that should give you the exact error on what is happening.

I believe a more simpler solution if you have access to the SharePoint IIS configurations is to:

  • Set Start Mode to "Always Running" - to prevent app pool shut down during inactivity
  • Set Preload Enabled to True - this should load all the DLLs and so on into memory after each time the AppPool recycles.

There are other ways to accomplish this and all this has already been answered here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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