应用程序池回收

您所在的位置:网站首页 IIS缓存设置在哪里 应用程序池回收

应用程序池回收

2023-12-19 22:03| 来源: 网络整理| 查看: 265

应用程序池回收 项目 07/19/2023

概述

元素包含用于控制何时回收应用程序池的配置设置。 可以指定 Internet Information Services (IIS) 7 在时间间隔 (分钟) 或每天的特定时间回收应用程序池。 还可以将 IIS 配置为基于应用程序池中工作进程正在使用的虚拟内存或物理内存量进行回收,或者将 IIS 配置为在工作进程处理特定数量的请求后回收应用程序池。

兼容性 版本 备注 IIS 10.0 未 在 IIS 10.0 中修改元素。 IIS 8.5 未 在 IIS 8.5 中修改 元素。 IIS 8.0 未 在 IIS 8.0 中修改 元素。 IIS 7.5 未 在 IIS 7.5 中修改元素。 IIS 7.0 元素 是在 IIS 7.0 中引入的。 IIS 6.0 元素 替换 IIS 6.0 IIsApplicationPools 元数据库属性的一部分。

设置

该 集合包含在 IIS 7 的默认安装中。

操作方式 如何为应用程序池设置定期回收

(IIS) 管理器打开 Internet Information Services:

如果使用 Windows Server 2012 或 Windows Server 2012 R2:

在任务栏上,依次单击“服务器管理器”、“工具”和“Internet Information Services (IIS) 管理器”。

如果你使用的是 Windows 8 或 Windows 8.1:

按住 Windows 键,按字母 X,然后单击“控制面板”。 单击 “管理工具”,然后双击“ Internet Information Services (IIS) 管理器”。

如果使用的是 Windows Server 2008 或 Windows Server 2008 R2:

在任务栏上,单击“ 开始”,指向 “管理工具”,然后单击“ Internet Information Services (IIS) 管理器”。

如果你使用的是 Windows Vista 或 Windows 7:

在任务栏上,单击“开始”,然后单击“控制面板”。 双击“ 管理工具”,然后双击“ Internet Information Services (IIS) 管理器”。

在“ 连接 ”窗格中,展开服务器名称,然后单击“ 应用程序池”。

在“ 应用程序池 ”窗格中,选择要编辑的应用程序池。

在 “操作 ”窗格中,单击“ 回收...”

在“编辑应用程序池回收设置向导”的“回收条件”页上,选择“ 固定间隔 ”部分中的至少一个选项,在相应的文本框中键入值,然后单击“ 下一步”。

(可选) 在“编辑应用程序池回收设置向导”的“将事件回收到日志”页上,选择希望 IIS 在事件发生时发送到事件日志的可配置回收事件和运行时回收事件,然后单击“ 完成”。

配置

元素 可在 ApplicationHost.config 文件中的服务器级别进行配置。

属性 属性 说明 memory 可选 uint 属性。

指定在回收工作进程之前工作进程可以使用的虚拟内存 (量(以千字节为单位) )。

默认值 0为 ,这会禁用 属性。

privateMemory 可选 uint 属性。

指定工作进程回收前 () 工作进程可以使用的专用内存量(以 KB 为单位)。

默认值 0为 ,这会禁用 属性。

requests 可选 uint 属性。

指定工作进程在处理特定数量的请求后应回收该进程。

默认值 0为 ,这会禁用 属性。

time 可选的 timeSpan 属性。

指定应在经过指定时间量后回收工作进程。

默认值为 29:00:00 (29 小时) 。

子元素 元素 说明 schedule 可选元素。

指定计划定期重启应用程序池。

配置示例

以下配置示例使用应用程序池 元素创建名为 Contoso 的新应用程序池。 元素配置应用程序池重启的日志记录,元素配置应用程序池重启的时间,元素配置 shutdownTimeLimit 和 startupTimeLimit 属性,以便分别在应用程序池中关闭和启动工作进程 30 秒。 如果超过这些时间限制,IIS 将终止工作进程。

代码示例

以下代码示例将名为 Contoso 的应用程序池添加到 IIS 7 服务器,然后将应用程序池设置为每天凌晨 3:00 回收。

AppCmd.exe appcmd.exe set config -section:system.applicationHost/applicationPools /+"[name='Contoso']" /commit:apphost appcmd.exe set config -section:system.applicationHost/applicationPools /+"[name='Contoso'].recycling.periodicRestart.schedule.[value='03:00:00']" /commit:apphost

还可以使用以下语法:

appcmd.exe add apppool /name:"Contoso" appcmd.exe set config -section:system.applicationHost/applicationPools /+"[name='Contoso'].recycling.periodicRestart.schedule.[value='03:00:00']" /commit:apphost

注意

使用 AppCmd.exe 配置这些设置时,必须确保将 commit 参数设置为 apphost 。 这会将配置设置提交到 ApplicationHost.config 文件中的相应位置部分。

C# using System; using System.Text; using Microsoft.Web.Administration; internal static class Sample { private static void Main() { using (ServerManager serverManager = new ServerManager()) { Configuration config = serverManager.GetApplicationHostConfiguration(); ConfigurationSection applicationPoolsSection = config.GetSection("system.applicationHost/applicationPools"); ConfigurationElementCollection applicationPoolsCollection = applicationPoolsSection.GetCollection(); ConfigurationElement addElement = applicationPoolsCollection.CreateElement("add"); addElement["name"] = @"Contoso"; ConfigurationElement recyclingElement = addElement.GetChildElement("recycling"); ConfigurationElement periodicRestartElement = recyclingElement.GetChildElement("periodicRestart"); ConfigurationElementCollection scheduleCollection = periodicRestartElement.GetCollection("schedule"); ConfigurationElement addElement1 = scheduleCollection.CreateElement("add"); addElement1["value"] = TimeSpan.Parse("03:00:00"); scheduleCollection.Add(addElement1); applicationPoolsCollection.Add(addElement); serverManager.CommitChanges(); } } } VB.NET Imports System Imports System.Text Imports Microsoft.Web.Administration Module Sample Sub Main() Dim serverManager As ServerManager = New ServerManager Dim config As Configuration = serverManager.GetApplicationHostConfiguration Dim applicationPoolsSection As ConfigurationSection = config.GetSection("system.applicationHost/applicationPools") Dim applicationPoolsCollection As ConfigurationElementCollection = applicationPoolsSection.GetCollection Dim addElement As ConfigurationElement = applicationPoolsCollection.CreateElement("add") addElement("name") = "Contoso" Dim recyclingElement As ConfigurationElement = addElement.GetChildElement("recycling") Dim periodicRestartElement As ConfigurationElement = recyclingElement.GetChildElement("periodicRestart") Dim scheduleCollection As ConfigurationElementCollection = periodicRestartElement.GetCollection("schedule") Dim addElement1 As ConfigurationElement = scheduleCollection.CreateElement("add") addElement1("value") = TimeSpan.Parse("03:00:00") scheduleCollection.Add(addElement1) applicationPoolsCollection.Add(addElement) serverManager.CommitChanges() End Sub End Module Javascript var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager'); adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"; var applicationPoolsSection = adminManager.GetAdminSection("system.applicationHost/applicationPools", "MACHINE/WEBROOT/APPHOST"); var applicationPoolsCollection = applicationPoolsSection.Collection; var addElement = applicationPoolsCollection.CreateNewElement("add"); addElement.Properties.Item("name").Value = "Contoso"; var recyclingElement = addElement.ChildElements.Item("recycling"); var periodicRestartElement = recyclingElement.ChildElements.Item("periodicRestart"); var scheduleCollection = periodicRestartElement.ChildElements.Item("schedule").Collection; var addElement1 = scheduleCollection.CreateNewElement("add"); addElement1.Properties.Item("value").Value = "03:00:00"; scheduleCollection.AddElement(addElement1); applicationPoolsCollection.AddElement(addElement); adminManager.CommitChanges(); VBScript Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager") adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST" Set applicationPoolsSection = adminManager.GetAdminSection("system.applicationHost/applicationPools", "MACHINE/WEBROOT/APPHOST") Set applicationPoolsCollection = applicationPoolsSection.Collection Set addElement = applicationPoolsCollection.CreateNewElement("add") addElement.Properties.Item("name").Value = "Contoso" Set recyclingElement = addElement.ChildElements.Item("recycling") Set periodicRestartElement = recyclingElement.ChildElements.Item("periodicRestart") Set scheduleCollection = periodicRestartElement.ChildElements.Item("schedule").Collection Set addElement1 = scheduleCollection.CreateNewElement("add") addElement1.Properties.Item("value").Value = "03:00:00" scheduleCollection.AddElement(addElement1) applicationPoolsCollection.AddElement(addElement) adminManager.CommitChanges()


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3