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 :
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:
SSL Settings are set according to the article:
Unfortunately when I try to access my default page I get Server Error:
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.