如何获得高流量的网站重新启动/快速回收ASP.Net应用程序关机?

问题描述:

我运行一个非常高流量的网站,取得了良好的300+请求/秒( http://cooltext.com 一>)。重新启动至少需要一个很好的90秒的时间吧。所以每次我发布一个新版本的时间它会下来一两分钟。长到足以触发我的监控服务。

I'm running a very high traffic site that gets a good 300+ requests/second (http://cooltext.com). A restart takes a good 90 seconds at least for it. So every time I post a new build it goes down for a minute or two. Long enough to trigger my monitoring services.

当我作出这样的重新启动服务器发生了变化,现在看来,重启摊位,直到所有的旧的应用程序池老的请求(其中一些非常长时间运行)完成。我可以重新启动通过手动查杀老w3wp.exe的实例更快发生。

When I make a change that restarts the server, it appears that the restart stalls until all of the old requests on the old application pool (some of them very long running) complete. I can make the restart happen much faster by killing the old w3wp.exe instance manually.

是否有某种方式来强制IIS关闭所有连接立即和执行硬重启?在IIS或asp.net的一些设置来控制呢?

Is there some way to force IIS to close all the connections right away and do a hard restart? Some setting in IIS or asp.net to control this?

刚刚发现这似乎是我要找的以下内容: http://msdn.microsoft.com/en-us/library/aa720127(v = vs.71)的.aspx

Just found the following that appears to be what I'm looking for: http://msdn.microsoft.com/en-us/library/aa720127(v=vs.71).aspx

关闭时间限制是针对shutDownTimeout ASP.NET进程模型设置相当于应用程序池设置。它指定的时间工作进程被赋予优雅的关闭的数量。如果指定了工作进程不会停止及时金额,ASP.NET ISAPI将结束工作进程。关闭时间限制是默认设置为90秒。您可以通过微调框更改值指定不同的时间限制。

Shutdown Time Limit is the equivalent application pool setting for the shutDownTimeout ASP.NET process model setting. It specifies the amount of time a worker process is given to shutdown gracefully. If the worker process does not shutdown in time amount specified, the ASP.NET ISAPI will end the worker process. Shutdown Time Limit is set to 90 seconds by default. You can specify a different time limit by changing the value in the spin box.