配置IIS应用程序池

IIS 6的核心在于工作进程隔离模式,而应用程序池则是定义工作进程如何进行工作,因此,可以说应用程序池是整个IIS 6的核心。

和IIS 5中只能使用单个应用程序池不同,工作在工作进程隔离模式的IIS 6可以创建多个应用程序池,不同的应用程序池之间是完全隔离的,某个应用程序池停止服务时不会影响到其他应用程序池。

在使用应用程序池之前,你应该确定你所需要的应用程序池数量。可能有很多朋友会认为,既然不同的应用程序池之间是完全隔离的,那么我只需要为每个Web站点创建一个应用程序池就可以了。这个办法在IIS服务器上具有较少的Web站点数量时可以使用,但是如果IIS服务器上具有很多Web站点数量,那么这个办法就不适用了,因为不同的应用程序池在被访问时都会创建各自的工作进程,当大量的工作进程并发工作时会消耗大量的系统资源和CPU利用率,反而会降低服务器性能。你应该根据Web站点的重要性、隔离性、所运行代码的安全性和稳定性等来对IIS服务器上所具有的Web站点进行划分,然后根据情况来决定所需要的应用程序池数量。对于那些非常重要的Web站点、需要单独隔离的Web站点、所运行代码稳定性和安全性并不可靠的Web站点配置为使用各自独立的应用程序池,而将其他普通的Web站点配置为使用一个公共的应用程序池。

默认情况下,在安装IIS时会创建一个默认网站并创建一个名为DefaultAppPool的应用程序池为其使用;默认配置下的应用程序池已经可以很好的进行工作,建议你只有在特别需要时才对应用程序池进行配置。

 

配置应用程序池属性

在IIS管理控制台中展开应用程序池文件夹,然后右击对应的应用程序池,点击属性,你可以在应用程序池的属性中进行以下配置:

回收

回收标签,你可以设置工作进程的回收方式:

  • 回收工作进程(分钟):在工作进程运行多少分钟后回收工作进程,默认启用,并且设置为1740分钟(29小时);

  • 回收工作进程(请求数目):在工作进程处理多少 个HTTP请求后终止此工作进程,默认禁用,如果启用则默认值为35000

  • 在下列时间回收工作进程:在指定的时间回收工作进程,默认禁用;如需启用,勾选后点击添加按钮添加回收的时间即可,使用24小时制定义回收的时间;

  • 消耗太多内存时回收工作进程:

    • 最大虚拟内存(兆):当工作进程使用的虚拟内存达到设置的值时回收工作进程,默认禁用,如果启用则默认值为500 M;建议设置为不超过虚拟内存总数的70%;

    • 最大使用的内存(兆):当工作进程使用的物理内存达到设置的值时回收工作进程,默认禁用,如果启用则默认值为192 M;建议设置为不超过物理内存总数的60%;

另外需要注意的是,应用程序池具有以下两种工作进程回收方式,不过这两种回收方式均不会造成Web服务的中断:

  • 默认情况下,应用程序池使用重叠回收方式。在这种方式下,当应用程序池要关闭某个工作进程时,会先创建一个工作进程,直到新的工作进程成功创建后才关闭旧的工作进程;

  • 应用程序池也可以先关闭旧的工作进程,然后再创建新的工作进程。

如果Web应用程序不支持多实例运行,那么你必须配置应用程序池禁止使用重叠回收方式。此配置无法在IIS管理控制台中进行修改,只能通过在metabase.xml中修改对应应用程序池的DisallowOverlappingRotation metabase属性为true进行。
 

 

性能

性能标签你可以设置工作进程的运行方式:

  • 在空闲此段时间后关闭工作进程(分钟):当工作进程空闲多少分钟后关闭此工作进程,这降低了空闲工作进程对系统资源和CPU性能的消耗,默认启用并且设置为20分钟;

  • 核心请求队列限制为(请求次数):当HTTP.sys接收到某个客户端发送的HTTP请求时,如果处理此请求的对应应用程序池的工作进程还处于忙状态,则HTTP.sys将接收到的请求保存在对应应用程序池的请求队列中,直到工作进程空闲为止。此选项即用于设置此应用程序池的请求队列所能容纳的请求数量,默认情况下每个应用程序池的请求队列限制为保留1000个请求,如果超出则向客户端返回503错误,你可以根据需要适当进行修改,最大可以设置为65535。但是如果设置太大则会消耗大量的系统资源 ,而设置太小会导致客户端访问时频繁出现503错误。

  • 启用CPU监视:监视此应用程序池的CPU使用率,默认未启用;如果某个应用程序池占用的CPU利用率过多,那么可以通过配置此选项来限制此应用程序池;

    • 最大CPU使用率(百分比):所设置的应用程序池所能使用的最大CPU使用率;启用CPU监视时默认值为100;

    • 刷新CPU使用率(分钟):刷新CPU使用率的间隔时间;启用CPU监视时默认值为5;

    • CPU使用率超过最大使用率时执行的操作:当此应用程序池的CPU使用率超过所设置的最大CPU使用率时所进行的操作,启用CPU监视时默认为,此时IIS只是在事件日志中进行记录而不进行其他操作;如果选择为关闭,那么IIS将关闭此应用程序池中的所有工作进程;

  • Web园:在Web园中你可以配置此应用程序池所使用的最大工作进程数,默认为1,最大可以设置为4000000; 配置使用多个工作进程可以提高该应用程序池处理请求的性能,但是在设置为使用多个工作进程之前,请考虑以下两点:

    • 每一个工作进程都会消耗系统资源和CPU占用率;太多的工作进程会导致系统资源和CPU利用率的急剧消耗;

    • 每一个工作进程都具有自己的状态数据,如果Web应用程序依赖于工作进程保存状态数据,那么可能不支持使用多个工作进程。

 

 

运行状况

运行状况标签你可以配置应用程序池监视工作进程的运行状况,

  • 启用Ping:默认情况下应用程序池配置为每隔30秒Ping工作进程,当工作进程没有进行响应时,则认为此工作进程出现故障并默认配置为关闭此工作进程。你可以修改Ping的时间间隔,但是太长的Ping间隔可能会导致Web服务的中断,而太短的Ping间隔又会消耗更多的系统资源和CPU利用率,因此建议你保留默认配置;

  • 启用快速失败保护:如果Web应用程序代码编写有问题,它可能会导致工作进程持续出现问题。默认情况下应用程序池配置为启用快速失败保护,当工作进程在配置的时间段(默认为5分钟)内发生的失败次数超过了配置的值(默认为5次),则禁用此应用程序池。

  • 启动时间限制:IIS等待属于此应用程序池的工作进程启动的时间,当工作进程启用时间超出此设置值时,IIS会在事件日志中进行记录;

  • 关闭时间限制:当IIS检测到某个工作进程出现故障时,将此工作进程标记为关闭,此选项指定了IIS等待工作进程自动关闭的时间限制,如果超出此时间限制后工作进程尚未关闭,则IIS强行关闭工作进程。

 

 

标识

标识标签,你可以配置工作进程所运行的用户账户。在IIS 5或者当IIS 6运行在IIS 5隔离模式时,工作进程运行在本地系统账户,而运行在工作进程隔离模式下的IIS 6的工作进程运行在网络服务账户下,这降低了系统被攻击的可能性。

你可以配置工作进程运行在预定义的本地系统本地服务网络服务账户下,也可以配置为使用某个自定义的用户账户。建议使用默认的网络服务账户;不过如果为了更高的安全性,可以配置使用自定义的用户账户,不过建议你只是将此自定义用户加入到IIS_WPG用户组中,因此IIS_WPG用户组包含了可以启动和运行工作进程的最小权限。

创建应用程序池

要新建应用程序池,在IIS管理控制台中右击应用程序池文件夹,指向新建,选择应用程序池

然后在弹出的添加新应用程序池对话框,在应用程序池ID栏输入应用程序池名,然后选择使用默认设置还是继承现有的应用程序池设置,再点击确定即可;

 

 

分配Web站点到应用程序池中

在IIS管理控制台中展开网站文件夹,右击对应的网站,然后选择属性,在弹出的网站属性对话框上,点击主目录标签,然后在应用程序池栏选择不同的应用程序池即可,默认情况下所有网站所使用的应用程序均名为默认应用程序,如果要想此网站使用不同的应用程序名,则在应用程序名栏修改即可,例如在此我就修改为winsvr,这主要是便于查看,然后点击确定即可,

此时,在对应的应用程序池下就显示出了对应网站的应用程序,如下图所示:

使用 IIS 6.0 配置应用程序池标识

http://technet.microsoft.com/zh-cn/library/cc757536(WS.10).aspx

IIS应用程序池 CPU 100% 分析软件,找出具体有问题的ASP程序URL

http://www.zcnt.com/IIsApp.asp

配置IIS应用程序池相关推荐

  1. IIS 应用程序池设置

    要点 只有在工作进程隔离模式下运行时才能使用这个 IIS 6.0 功能. 应用程序池是将一个或多个应用程序链接到一个或多个工作进程集合的配置.因为应用程序池中的应用程序与其他应用程序被工作进程边界分隔 ...

  2. isapi mysql_Windows 2008R2以ISAPI和Fastcgi方式安装配置IIS、PHP、Mysql环境

    Windows下PHP有两个版本,非线程安全及线程安全版本,运行方式可选ISAPI.Fastcgi.CGI.1.Non Thread Safe版本php适用于以CGI以和fastCGI运行的web服务 ...

  3. php iis session 超时设置,如何配置IIS Session超时时间

    原来IIS为了保护服务器,有一个"回收"的概念!测试了半天终于有了点大体了解(不要笑我菜^-^).先来看看这个"回收"在哪设置. 启动IIS管理器->应用 ...

  4. win7下配置IIS

    win7下配置IIS(ASP.net) 1.先要设置应用程序池(ApplicationPool)为Classic.NETAppPool,而不是默认的DefaultAppPool,可以在网站目录里对每个 ...

  5. windows下配置IIS以及优化配置

    Windows Server 配置IIS及发布接口程序 操作手册 一.需求描述 应用场景 当我们从部署接口等服务的时候,需要用到IIS发布,过程中会面临几个问题: 1.IIS安装路径以及是否启用 2. ...

  6. IIS应用程序池自动回收

    一.IIS应用程序池自动回收问题的有效解决办法 IIS可以设置定时自动回收,默认回收是1740分钟,也就是29小时.IIS自动回收相当于服务器IIS重启,应用程序池内存清空,所有数据被清除,相当于II ...

  7. IIS应用程序池高级设置各参数详解

    目录 1 常规 1.1 .NET CLR 版本 1.2 队列长度 1.3 名称 1.4 启动模式 1.5 启用 32 位应用程序 1.6 托管管道模式 2.CPU: 2.1 处理器关联掩码 2.2 处 ...

  8. php iis session 超时设置,如何配置IIS Session超时时间

    原来IIS为了保护服务器,有一个"回收"的概念!测试了半天终于有了点大体了解(不要笑我菜^-^).先来看看这个"回收"在哪设置. 启动IIS管理器->应用 ...

  9. php 5.3 iis 配置,PHP5.3x+IIS6完全配置方法,PHP5.3以上版本全新配置IIS方法 | 博客水木...

    由于PHP5.3 的改进,原有的IIS 通过isapi 方式解析PHP脚本已经不被支持,PHP从5.3.0 以后的版本开始使用微软的 fastcgi 模式,这是一个更先进的方式,运行速度更快,更稳定. ...

最新文章

  1. linux内核网络协议栈--数据包的网卡转发流程(二十七)
  2. VBS随时监视注册表的变化,记录有变化的值或键等信息(包括一个文件内容比较函数)...
  3. 测验1: Python基本语法元素 (第1周)
  4. Mysql逻辑架构介绍
  5. 从实例一步一步入门学习SpringCloud的Eureka、Ribbon、Feign、熔断器、Zuul的简单使用(附代码下载)
  6. RocketMQ 端云一体化设计与实践
  7. fckeditor异常总结---java.lang.ClassNotFoundException: org.devlib.schmidt.imageinfo.ImageInfo
  8. JZ50第一个只出现一次的字符JZ50第一个只出现一次的字符JZ25合并两个排序的链表思路
  9. Java 原生数据类型、Integer
  10. 用EasyRecovery“监控硬盘”功能检测硬盘问题的方法
  11. Python数据分析 笔记4(matplotlib库)
  12. 人脸识别的十个关键技术组成及原理
  13. 光刻中G线,I线,H线为什么叫G线,I线,H线而不是叫别的什么线?
  14. cf 1538D - Another Problem About Dividing Numbers
  15. [USACO 2.2.1] Preface Numbering
  16. uni-app注册全局组件
  17. 调研:暴恐识别(图像识别)by_xxzcc
  18. 你了解HTTP2协议吗?(二)
  19. Linux系统调用之execve函数与标准C库exec函数族(有关于进程方面的函数族)
  20. 论电子病历控件的现状和发展方向

热门文章

  1. C++之路进阶——codevs2313(星际竞速)
  2. 前端Vue中获取本机ip地址
  3. 那些年啊,那些事——一个程序员的奋斗史 ——26
  4. wpf 非托管代码崩溃_崩溃! 地狱的网络托管公司
  5. java 重新安装_Java卸载后无法重新安装 提示已安装过
  6. linux支持xfs文件系统,LINUX下使用XFS文件系统
  7. 地址有关码和地址无关码
  8. 读分布式服务框架原理与实践读后感
  9. I - Simpsons’ Hidden Talents
  10. 线下商店如何转型做新零售 怎么样顺利开展新零售模式?