我的应用程序池一直使用 OnDemand 启动模式,但最近我听说 AlwaysRunning 模式,它允许部署到 IIS 的 ASP.NET 应用程序在部署后立即可用。启用此功能似乎会导致 IIS 在应用程序部署后立即启动该应用程序,从而消除了网站“冷点击”通常所需的预热时间。这在中进行了解释this很棒的文章。
下面是我有一些疑问并且想了解一下:
-
使用AlwaysRunning功能,回收时会发生什么
应用程序池?使用的内存被删除并释放?工作进程
被终止并再次启动,或者它们继续可用
内存及其使用的内存没有被删除和释放?
-
OnDemand 和 OnDemand 有何优缺点?
总是跑步?哪个对于单个工作进程更好,哪个
更适合网络花园(多个工作进程)?
-
另外,有人可以解释一下网站在使用时的行为方式吗?
AlwaysRunnig 与进程空闲超时和空闲相结合
超时动作和回收?点播也是如此。我想成为
清楚在这些情况下所有这些部分如何共同干预
(始终运行和按需)。
1)当您设置应用程序池始终在回收时运行时,它将删除正在运行的工作进程并再次启动它。
2) 如定义所述,如果您设置始终运行 IIS,则在 IIS 启动后或创建应用程序池时立即启动应用程序池的工作进程。
OnDemand-> IIS 将在收到第一个 Web 应用程序请求时启动工作进程。
始终运行的优点是用户请求资源后无需等待。 OnDemand 的缺点是 w3wp 启动时有延迟。始终运行的缺点是内存被特定的工作进程占用。
在我看来,对于网络花园环境设置来说,始终运行是一个更好的主意。
3)挂起只是冻结进程,比销毁进程效率高得多。默认情况下,IIS 将应用程序池设置为在 20 分钟不活动后“超时”。因此,如果 20 分钟内没有任何访问者访问您的网站,应用程序池将关闭 - 释放这些系统资源。然后,下次请求进入站点时,IIS 将自动重新启动应用程序池并提供请求的页面。
如果您希望您的蒸馏器始终设置为始终运行模式并且从不休眠,那么以下设置适合您:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)