如何使用负载均衡器消除ASP.NET应用程序重新加载延迟?

fra*_*lic 5 asp.net load-balancing

ASP.NET应用程序的一个问题是它们会定期重新加载,导致在此期间访问该站点的用户长时间延迟并可能超时.

对于小型网站而言,这可能不是问题,但如果用户碰巧被路由到正在重新启动的Web场中的节点,则它可能代表高流量站点的显着停机时间.

预先编译可以提供帮助,但对于有许多页面的网站,仍然存在不可避免的延迟.

可以以某种方式加载平衡器"知道"特定服务器上的ASP.NET应用程序域是否正在重新启动?然后,他们可以在此服务器周围路由流量,直到应用程序完成重新启动.

目前,我的负载均衡器在网站上ping了一个简单的.aspx页面.如果存在延迟或页面无法加载,则主机将退出轮换.是否可以在IIS级别而不是ASP.NET级别进行更有针对性的运行状况检查?

AUS*_*eve 0

IIS6 和 IIS7 都支持安排应用程序池按固定时间/间隔重新启动。如果您的负载均衡器可以按计划取出节点,您可以同步两个计划。

您还可以通过编程方式强制从负载均衡器进行回收,请查看http://blog.developers.ie/cgreen/archive/2006/10/20/2341.aspx以获取 2 个选项。

当然,这些不会处理应用程序池因其他原因重新启动时的情况。