Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to eliminate ASP.NET application reload delay using load balancer?

One issue with ASP.NET apps is that they periodically reload themselves, causing a long delay and possibly timeout for users who hit the site during that time.

This may not be a problem for small websites, but it can represent significant downtime for high-traffic sites, if users happen to get routed to node in the web farm that is restarting.

Pre-compling can help, but for websites with many pages, there is still an unavoidable delay.

Can load balancers somehow "know" if an ASP.NET application domain on a specific server is restarting? Then, they can route traffic around this server until the application has completed restarting.

Currently, I have my load balancer ping a simple .aspx page on the site. If there is a delay or the page fails to load, the host is taken out of rotation. Is it possible to do a more targeted health check, perhaps at the IIS level rather than ASP.NET level?

like image 997
frankadelic Avatar asked Nov 06 '22 05:11

frankadelic


1 Answers

If you are using IIS7 you could look into the application warm up module to start your app even after an AppPool reset.

http://learn.iis.net/page.aspx/688/using-the-iis-application-warm-up-module/

like image 108
Troy Avatar answered Nov 15 '22 05:11

Troy