如何使用负载平衡器消除ASP.NET应用程序重新加载延迟?
ASP.NET应用程序的一个问题是,它们会定期重新加载自己,这会导致长时间延迟,并可能导致在此期间访问站点的用户超时 对于小型网站而言,这可能不是问题,但如果用户碰巧被路由到正在重新启动的web场中的节点,则对于高流量网站而言,这可能意味着严重的停机 预编译可能会有所帮助,但对于有很多页面的网站来说,仍然存在不可避免的延迟 负载平衡器是否能够“知道”特定服务器上的ASP.NET应用程序域是否正在重新启动?然后,他们可以在此服务器周围路由流量,直到应用程序完成重新启动如何使用负载平衡器消除ASP.NET应用程序重新加载延迟?,asp.net,load-balancing,Asp.net,Load Balancing,ASP.NET应用程序的一个问题是,它们会定期重新加载自己,这会导致长时间延迟,并可能导致在此期间访问站点的用户超时 对于小型网站而言,这可能不是问题,但如果用户碰巧被路由到正在重新启动的web场中的节点,则对于高流量网站而言,这可能意味着严重的停机 预编译可能会有所帮助,但对于有很多页面的网站来说,仍然存在不可避免的延迟 负载平衡器是否能够“知道”特定服务器上的ASP.NET应用程序域是否正在重新启动?然后,他们可以在此服务器周围路由流量,直到应用程序完成重新启动 目前,我的负载平衡器在网站上
目前,我的负载平衡器在网站上ping了一个简单的.aspx页面。如果出现延迟或页面加载失败,主机将停止旋转。是否可以在IIS级别而不是ASP.NET级别执行更有针对性的运行状况检查?IIS6和IIS7都支持按固定时间/间隔安排应用程序池重新启动。如果您的负载平衡器可以按计划取出节点,则可以同步这两个计划 您还可以通过编程方式强制从负载平衡器进行回收,请查看2个选项
当然,当应用程序池因其他原因重新启动时,这些不会处理这些情况。如果您使用IIS7,即使在应用程序池重置后,您也可以查看应用程序预热模块来启动应用程序
有趣的是,没有提到负载平衡器或运行状况检查。