Terry's blog

Focus on bigdata and cloud.

博客园 首页 新随笔 联系 订阅 管理

当您在运行 Windows Server 2003 的计算机上安装 ASP.NET 时,有两种进程模式供您选择。默认状况下,ASP.NET 使用 IIS 6.0 工作进程隔离模式。这种模式允许您配置应用程序池、回收工作进程、启用 Web 园功能、设置空闲超时和处理器关系,以及使用多种应用程序运行状况维护功能。在运行 Windows Server 2003 家族成员的计算机上,ASP.NET 应用程序应该使用工作进程隔离模式,除非遇到特定的兼容性问题。

但是请注意,当您的应用程序以工作进程隔离模式运行时,在计算机范围内的 Machine.config 文件中所创建的任何 <processModel> 元素的配置设置都将被忽略,下列三项设置除外:

  • maxWorkerThreads
  • maxIoThreads
  • ResponseDeadlockInterval

<processModel> 元素配置了 IIS Web 服务器上的 ASP.NET 进程模式设置。<processModel> 部分只能在 Machine.config 文件内设置,并且它会影响所有在服务器上运行的 ASP.NET 应用程序。

使用 IIS 管理器配置 <processModel> 元素

要点 要点 只有在工作进程隔离模式下运行时才能使用这些 IIS 6.0 功能。

IIS 6.0 工作进程隔离模式中的 timeout 等同设置

timeout 属性指定了 ASP.NET 启动新的工作进程来取代当前工作进程所需要的时间(以分钟为单位)。默认设置为“无限”。Recycle worker processes 项设置为 120 分钟(如下所示),并且默认情况下启用该项。

要点 要点 您必须是本地计算机上 Administrators 组的成员或者您必须被授予了相应的权限才能执行下列步骤。作为安全性的最佳操作,请使用不属于 Administrators 组的帐户登录计算机,然后使用运行方式命令以管理员身份运行 IIS 管理器。在命令提示符下,键入 runas /user:administrative_accountname "mmc %systemroot%\system32\inetsrv\iis.msc"

使用 IIS 管理器配置 ASP.NET 属性 timeout

  1. 在 IIS 管理器中,展开本地计算机,展开“应用程序池”,右键单击应用程序池,然后单击“属性”。
  2. 在“回收”选项卡上,选中“回收工作进程(分钟)”复选框。
  3. 单击向上或向下箭头,设置希望经过多少分钟后回收工作进程。
  4. 单击“确定”。

IIS 6.0 工作进程隔离模式中的 idleTimeout 等同设置

IIS 6.0 中的工作进程或应用程序池可以在保持指定的空闲时间后关闭。Shutdown worker process 项设置为 20 分钟,并且默认状况下启用该项。

使用 IIS 管理器配置 ASP.NET 属性 idleTimeout

  1. 在 IIS 管理器中,展开本地计算机,展开“应用程序池”,右键单击该应用程序池,然后单击“属性”。
  2. 单击“性能”选项卡,然后选中“空闲超时”下的“在空闲此段时间后关闭工作进程”复选框。
  3. 在“分钟”框中,键入希望在空闲(不处理请求)多少分钟后关闭空闲工作进程的数值。
  4. 单击“确定”。

IIS 6.0 工作进程隔离模式中的 shutdownTimeout 等同设置方法

shutdownTimeout 属性指定了工作进程完全关闭自身的时间值。时间用 hr:min:sec(小时:分钟:秒)字符串格式表示。工作进程的 Shutdown time limit 项设置为 90 秒,如下所示。

使用 IIS 管理器配置 ASP.NET 属性 shutdownTimeout

  1. 在 IIS 管理器中,展开本地计算机,展开“应用程序池”,右键单击该应用程序池,然后单击“属性”。
  2. 单击“运行状况”选项卡,在“关闭时间限制”下的“工作进程必须在下列时间内关闭”旁边的“秒”框内键入期望的秒数。
  3. 单击“确定”。

IIS 6.0 工作进程隔离模式中的 requestLimit 等同设置

IIS 6.0 中的工作进程或应用程序池可以设置为在特定次数的请求之后回收。默认情况下,未启用该功能。

使用 IIS 管理器配置 ASP.NET 属性 requestLimit

  1. 在 IIS 管理器中,展开本地计算机,展开“应用程序池”,右键单击该应用程序池,然后单击“属性”。
  2. 选中“回收工作进程(请求数目)”并键入回收工作进程之前所允许的最大虚拟内存值。
  3. 单击“确定”。

IIS 6.0 工作进程隔离模式中的 requestQueueLimit 等同设置

requestQueueLimit 属性指定了允许的最大请求次数,等待工作进程在异常中断后启动时,这些请求会排列在 Internet 服务器 API (ISAPI) 中。请注意,此设置不能在完全关闭或正常回收的情况下应用。IIS 6.0 中的队列限制在内核中设置,默认情况下,设置为 1000。

使用 IIS 管理器配置 ASP.NET 属性 requestQueueLimit

  1. 在 IIS 管理器中,展开本地计算机,展开“应用程序池”文件夹,右键单击该应用程序池,然后单击“属性”。
  2. 单击“性能”选项卡。
  3. 在“请求队列限制”部分中,选中“核心请求队列限制为”复选框,然后在“请求次数”框中单击向上和向下箭头,设置队列请求的最大数量。
  4. 单击“应用”,然后单击“确定”。

IIS 6.0 工作进程隔离模式中的 memoryLimit 等同设置

在 IIS 6.0 工作进程隔离模式下,工作进程可以基于虚拟内存和物理内存回收。与 Machine.config 文件不同,内存限制不是百分比值,而是以兆字节度量的有限值。

默认情况下,不启用基于物理或虚拟内存的回收,但是如果选中的话,则默认值对于虚拟内存为 500 兆字节 (MB),对于物理内存为 192 MB。

使用 IIS 管理器配置 ASP.NET 属性 memoryLimit

  1. 在 IIS 管理器中,展开本地计算机,展开“应用程序池”,右键单击该应用程序池,然后单击“属性”。
  2. 在“回收”选项卡的“内存回收”部分,选中“最大虚拟内存(兆)”或“最大使用的内存(兆)”复选框。
  3. 单击向上或向下箭头,设置内存限制。
  4. 单击“确定”。

IIS 6.0 工作进程隔离模式中的 webGarden 和 cpuMask 等同设置

webGarden 属性控制 Web 园模式,或多个密切相关的工作进程的使用。cpuMask 控制了进程的数量和 Web 园工作的方式。

webGarden 可以使用多进程,这意味着所有进程将具有自己的、诸如应用程序状态、进程中的会话状态、缓存和静态数据等副本。

使用 Web 园时,请记住以下事项:

  • 如果应用程序使用会话状态,则它必须选择进程外的提供程序(NT 服务 或 SQL)。
  • 应用程序状态和应用程序静态数据是针对每个进程的,而不是针对每台计算机的。
  • 缓存是针对每个进程的,而不是针对每台计算机的。

Web 园也可以在 IIS 6.0 工作进程隔离模式下设置,其方法是将每个应用程序池的最大工作进程数量从 1 增加到 n (根据需要)。

配置 ASP.NET 属性 webGarden 和 cpuMask

  1. 在 IIS 管理器中,展开本地计算机,展开“应用程序池”,右键单击该应用程序池,然后单击“属性”。
  2. 单击“性能”选项卡,然后在“Web 园”下的“最大工作进程数”框中,键入想要指派给该应用程序池的工作进程数。
  3. 单击“确定”。

IIS 6.0 工作进程隔离模式中的 userName 和 password 等同设置

userName 属性允许工作进程采用不同于默认进程标识的 Windows 标识运行。默认状况下,此属性为空,进程以 IIS 标识运行。如果有效的证书出现在 userNamepassword 属性中,则进程以给定的帐户运行。如果出现,这些属性会使工作进程按配置的 Windows 标识运行。默认情况下属性值为空。在工作进程隔离模式下,默认以“网络服务”帐户运行。但是,可以将它们设置成如下的可配置帐户。

配置 ASP.NET 属性 userName 和 password

  1. 在 IIS 管理器中,展开本地计算机,展开“应用程序池”文件夹,右键单击要配置的应用程序池,然后单击“属性”。
  2. 单击“标识”选项卡。
  3. 单击“配置”。
  4. 单击“浏览”,然后在“输入要选择的对象名称”下,键入运行工作进程所使用的帐户名,然后单击“确定”。
  5. 在“密码”框中,键入与此帐户相关联的密码。如果没有与该帐户相关联的密码,请将“密码”框保持空白。
  6. 单击“确定”。

要点 要点 当使用可配置的帐户为应用程序池配置工作进程标识时,必须将创建的帐户添加到 IIS_WPG 组中以便工作进程能够运行。

IIS 6.0 工作进程隔离模式中的 pingFrequency 和 pingTimeout 等同设置

pingFrequency 属性是标准进程模式格式 (hr:min:sec) 的时间间隔。默认值为 30 秒。pingTimeout 属性是标准进程模式格式 (hr:min:sec) 的时间间隔。默认值为 5 秒。

在 IIS 6.0 工作进程隔离模式中,默认情况下启用 ping。pingFrequency 的默认值为工作进程响应之后 30 秒。pingTimeout 的等同设置为 PingResponseTime,其值为 90 秒,并且可以在配置数据库中直接更改。

配置 ASP.NET 属性 pingFrequency 和 pingTimeout

  1. 在 IIS 管理器中,展开本地计算机,展开“应用程序池”,右键单击该应用程序池,然后单击“属性”。
  2. 单击“运行状况”选项卡,然后选中“启用 Ping”复选框。
  3. 在“每隔下列时间 Ping 工作线程”旁边的“秒”框中,键入两次 ping 之间的间隔秒数。
  4. 单击“确定”。
posted on 2007-12-27 12:25  王晓成  阅读(624)  评论(0编辑  收藏  举报