简体   繁体   English

在IIS7上回收和重新加载应用程序池

[英]Recycle and reload application pool on IIS7

Is there a way to recycle and afterwards reload an application pool? 有没有办法回收,然后重新加载应用程序池?

My problem has been slow performance when logging in to my web application. 登录我的Web应用程序时,我的问题是性能下降。 I found out that the "Idle Time-out(minutes)" was sat to 20 by default. 我发现默认情况下“空闲超时(分钟)”默认为20。 This caused the application to terminate when idle so that it can start up again on the next visit. 这导致应用程序在空闲时终止,以便它可以在下次访问时再次启动。 After searching the web i found out that this value could be sat to 0 so it won't terminate. 在搜索网络后,我发现这个值可能会被设置为0,所以它不会终止。 However, the first visit after recycling, an app pool have to create a new w3wp.exe worker process which is slow because the app pool needs to be created, ASP.NET or another framework needs to be loaded, and then the application needs to be loaded. 但是,第一次访问回收后,应用程序池必须创建一个新的w3wp.exe工作进程,因为需要创建应用程序池,需要加载ASP.NET或其他框架,然后应用程序需要加载。 Source right here 来源就在这里

This means that every time the app recycles, the first visitor have to wait longer then the other visitors when logging in, doing some stuff and log out. 这意味着每次应用程序回收时,第一个访问者在登录时必须等待其他访问者,做一些事情并注销。

The web application is using the ISS from Dynamics AX 2009. Web应用程序正在使用Dynamics AX 2009的ISS。

Sorry I thought you are working on IIS 7.5 But there was a beta for this in IIS7 actually. 抱歉,我以为你正在使用IIS 7.5但是实际上在IIS7中有一个测试版。

I think you are looking something along the lines of this 我认为你正在寻找与此类似的东西

A warmup module for IIS 7.5 IIS 7.5的预热模块

"IIS Application Initialization for IIS 7.5 enables website administrators to improve the responsiveness of their Web sites by loading the Web applications before the first request arrives. By proactively loading and initializing all the dependencies such as database connections, compilation of ASP.NET code, and loading of modules, IT Professionals can ensure their Web sites are responsive at all times even if their Web sites use a custom request pipeline or if the Application Pool is recycled. While an application is being initialized, IIS can also be configured to return an alternate response such as static content as a placeholder or "splash page" until an application has completed its initialization tasks." “IIS 7.5的IIS应用程序初始化使网站管理员能够通过在第一个请求到达之前加载Web应用程序来提高其Web站点的响应能力。通过主动加载和初始化所有依赖项,例如数据库连接,ASP.NET代码的编译和加载模块,IT专业人员可以确保他们的网站始终响应,即使他们的网站使用自定义请求管道或应用程序池被回收。在初始化应用程序时,IIS也可以配置为返回备用响应,例如静态内容作为占位符或“启动页面”,直到应用程序完成其初始化任务。“

Download Link http://www.iis.net/downloads/microsoft/application-initialization 下载链接http://www.iis.net/downloads/microsoft/application-initialization

And also have a look at this; 还看看这个; which basically talks about using warm up classes which comes with ASPNET 4 其中主要讨论使用ASPNET 4附带的热身课程

http://weblogs.asp.net/gunnarpeipman/archive/2010/01/31/asp-net-4-0-how-to-use-application-warm-up-class.aspx http://weblogs.asp.net/gunnarpeipman/archive/2010/01/31/asp-net-4-0-how-to-use-application-warm-up-class.aspx

Checkout the suspend option. 签出暂停选项。

IIS now has IIS现在有

Idle Time-out Action : Suspend setting Idle Time-out Action : Suspend设置

Suspending is just freezes the process and it is much more efficient than the destroying the process. 暂停只是冻结过程,它比破坏过程更有效。 Because it uses the same process and does not create another one after waking up. 因为它使用相同的过程,并且在唤醒后不会创建另一个过程。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM