IIS6.0应用程序池回收和工作进程_365体育备用网址官网资讯

IIS6.0应用程序池回收和工作进程

文章来源:365jz.com     点击数:1612    更新时间:2011-06-02 09:36   参与评论

     千亿国际pt的一个网站程序长时间运行后,速度变慢,重新启动网站后速度显著变快,估量是网站程序占用的内存和CPU资源没能及时释放,才需要每隔一段时间重启网站释放资源。但手工重启总不能算解决问题的方法,怎样才能实现主动治理呢?IIS6.0的应用程序池主动回收功能能够解决这一问题。

      应用程序池是将一个或多个应用程序链接到一个或多个工作进程集合的配置。因为应用程序池中的应用程序与其余应用程序被工作进程边界分隔,所以某个应用程序池中的应用程序不会受到其余应用程序池中应用程序所发生的问题的影响。

       为Web程序配置应用程序池需要以下步骤:1)创建应用程序池,右键单击“应用程序池”,“新建/应用程序池”,命名为KefuAppPool;2)为Web程序指定应用程序池,在网站虚拟目录属性“应用程序设置”里面的“应用程序池(N)”里选择KefuAppPool;3)应用程序池主动回收方式的设置。回收方式有如下几种:
      a.依据运行时间
       系统默认是1740分钟,也就是29个小时,这个不是很好操纵,建议不用。

      b.要求数目
       这个要看具体的情况了。如果只有10个要求,可是有5个都在要求那个比较占资源的页面(可能是统计年度报表之类),这个时刻就会出现进程当掉的情况,如果要求有1000个可是一个也没运行比较占资源的页面,这个时刻进程肯定是很正常的,所以依据要求的数目来决议也不肯定符合实际需要。

      c.计划的时间
        这个其实很好,不过具体什么时间回收好呢?通常我们都是设置在凌晨两三点钟,这个时刻回收是有必要的,不过针对出现随时可能出现是高内存占用并不是很适用。

      d.内存(虚拟内存或已使用的内存)
       这个针对出现内存问题引起的进程当掉实在太适合了,不过设置多大的值比较好是一个很重要的问题,值不能太小了,否则如果访问量都很大超越这个值的时刻也会主动回收,这个就很没必要了。肯定要多多观察进程的实际占用情况再做决议。

       下面重点谈谈对工作进程回收应用程序池的了解。
       默认情况下,WWW服务树立“重叠回收”,即继续运行要终止的工作进程,直到启动新的工作进程后为止。 在重叠回收方案中,要回收的进程继续处置要求,同时 WWW 服务创建一个替代工作进程。在停止旧工作进程之前启动新的工作进程,然后将要求定向到新的进程。此设计能够防止服务中断,因为旧进程关闭前依旧坚持与 HTTP.sys 的通信以处置要求。因为可重叠关闭或启动的关闭超时值是能够配置的,所以在工作进程仍在处置要求的同时能够终止该进程(如果它在时间限制内没有处置完要求的话)。
       注意:当 WWW 服务回收某个工作进程时,它并不断开现有的 TCP/IP 连接。HTTP 协议堆栈 (HTTP.sys) 树立并维护 TCP/IP 连接。
        
      IIS中的每个应用程序池由一个“工作进程”进行治理,也就是"W3wp.exe" 进程。如果有多个应用程序池中的程序运行,我们就能看到多个w3wp.exe。这点能够在任务治理器中看到,如下图所示,任务治理器中有两个w3wp.exe进程,恰好对应两个有应用程序在运行的应用程序池。
       



      在命令提示符下运行iisapp -a,能够察看w3wp.exe和哪个应用程序池关联。
        下图显示了手动执行应用程序池KefuAppPool的回收,在回收前,回收中和回收后应用程序池和工作进程情况。我们注意到:回收进程中增加了一个工作进程(PID=3896),该工作进程(PID=3896)启动好后,旧的工作进程(PID=5716)才被停止,新工作进程(PID=3896)正式替代旧进程工作,这就很好的防止了应用程序池回收进程中服务被中断,保证了程序的陆续运行。而其余两个应用程序池对应的工作进程 PID都没用变。该图很好的展示了应用程序池回收的进程。


应用程序池这个东西着实让治理服务器的人头疼,如果不设置好网站随时有可能罢工,甚至拖累服务器。因此特地找来此文章供大家参考。
另外说一点,如果网站访问量不是很大,晚上没什么人访问,能够尝试凌晨重启服务器,这样能够提高服务器的速度,为第二天的访问做准备。
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用户组包含了能够启动和运行工作进程的最小权限。

1)在任务治理器中增加显示pid字段;2)在命令提示符下运行iisapp -a。注意,第一次运行,会提示没有js撑腰,点击确定。然后再次运行就能够了。这样就能够看到pid对应的应用程序池。如上图左侧所示,应用程序池 KefuAppPool和PID=3232的w3wp.exe相关联,应用程序池ReportServer和PID=3572的w3wp.exe相关联.

如对本文有疑问,请提交到交流ceo娱乐合营商,广大热心网友会为你解答!! 点击进入ceo娱乐合营商

您可能感兴趣的文章:


公布评论 (1612人察看0条评论)
请自觉遵守互联网相关的政策法规,严禁公布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换白老虎娱乐 国际
最新评论
------分隔线----------------------------
条评论
Sitemap