use*_*552 8 iis asp.net-mvc worker-process application-pool
我的应用程序池一直使用 OnDemand 启动模式,但最近我听说 AlwaysRunning 模式,它允许部署到 IIS 的 ASP.NET 应用程序在部署后立即可用。启用此功能似乎会导致 IIS 在部署应用程序后立即启动应用程序,从而消除 \xe2\x80\x9ccold 命中 \xe2\x80\x9d 到网站所需的预热时间。这篇精彩的文章对此进行了解释。
\n下面是我有一些疑问并且想了解一下:
\n使用 AlwaysRunning 功能,回收应用程序池时\n会发生什么情况?使用的内存被删除并释放?工作进程\n被终止并再次启动,或者它们在内存中继续可用,并且它们使用的内存没有被删除和释放?
\nOnDemand 和\nAlwaysRunning 的优点和缺点是什么?哪个更适合单个工作进程,哪个更适合网络花园(多个工作进程)?
\n另外,有人可以解释一下将\nAlwaysRunnig 与进程空闲超时和空闲\n超时操作和回收结合使用时网站的行为吗?点播也是如此。我想\n清楚地了解所有这些部分在这些场景下如何相互干预\n(AlwaysRunning 和 OnDemand)。
\nJal*_*hal 16
1)当您设置应用程序池始终在回收时运行时,它将删除正在运行的工作进程并再次启动它。
\n2) 如定义所述,如果您设置始终运行 IIS,则在 IIS 启动或创建应用程序池时立即启动应用程序池的工作进程。
\nOnDemand-> IIS 将在收到第一个 Web 应用程序请求时启动工作进程。
\n始终运行的优点是用户请求资源后无需等待。OnDemand 的缺点是 w3wp 启动时有延迟。始终运行的缺点是内存被特定的工作进程占用。
\n在我看来,对于网络花园环境设置来说,始终运行是一个更好的主意。
\n3)挂起只是冻结进程,比销毁进程效率高得多。默认情况下,IIS 在 20 分钟不活动后将应用程序池设置为 \xe2\x80\x9ctime-out\xe2\x80\x9d。因此,如果 20 分钟内\xe2\x80\x99 没有任何访问者访问您的站点,应用程序池将关闭 \xe2\x80\x93,从而释放这些系统资源。然后,下次请求进入站点时,IIS 将自动重新启动应用程序池并提供请求的页面。
\n如果您希望您的蒸馏器始终设置为始终运行模式并且从不休眠,那么以下设置适合您:
\n将启动模式设置为 \xe2\x80\x9cAlways Running\xe2\x80\x9d。
\n将空闲超时(分钟)设置为 0。
\nSet Preload Enabled = True(站点高级设置)
\n禁用应用程序池回收。
\n| 归档时间: |
|
| 查看次数: |
26831 次 |
| 最近记录: |