service unavailable原因及其应用池解决优化方法雪无痕seo团队

service unavailable原因及其应用池解决优化方法

近期青岛网站建设因遭受CC应用池,因此将此文整理献给大家,告诉大家service unavailable原因及其应用池解决优化方法


Service Unavailable


一、如果出现“Service Unavailable”的提示,刷新几下又可以访问。


出现这种情况是由于您的网站超过了iis限制造成的


由于2003的操作系统在提示IIS过多时并非像2000系统提示“链接人数过多”,而是提示"ServiceUnavailable",出现这种情况是由于网站超过了系统资源限制造成的,主要是程序占用资源太多。


比如同样是100人在线的论坛,雷傲论坛所占的资源就是PW论坛所占资源的10倍以上;另外,一些死循环程序,或者不优化的程序都会占用太多的系统资源,而系统资源明显是有限的。不过WINDOWS2003的操作系统,各网站之间是以独立进程运行的,不会相互影响。


如果一个网站的程序占资源太多或者发生太多的错误,系统日志就会提示:“应用程序池'xxx'被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误,或者提示:应用程序池'xxx'超过了其作业限制设置。这时,访问这个网站就会提示:ServiceUnavailable。一般系统会在30秒左右恢复正常,多刷新几次就能正常访问了。


另外,如果你的网站当前访问人数过多,超过了系统的iis连接数限制,也会出现ServiceUnavailable的提示(win2k主机下出现连接过多就会提示:连接过多,请稍后再试;而win2003的主机刚直接提示:ServiceUnavailable)


二、没有限制IIS连接,还是遭遇Service Unavailable


多见于使用ACCESS数据库的网站 Webjx.Com


一般使用windows2003IIS6的用户可能这个问题一直正常的系统,突然有一个网站打不开了

提示:ServiceUnavailable但这个网站并没有限制IIS连接数。然后马上影响到了别的网站,不到一会,其他的网站也全变成了ServiceUnavailable

这是什么原因呢?

我们分析后可以知道,还是MS的老问题。ACCESS引擎当了。用服务器医生的文件医生修复,查看修复结果时会发现一些文件引起ACCESS引擎“灾难性故障”及“未将对象引用设置到对象的实例”的错误。通过文件医生修复后,系统才会恢复正常。


三、浏览一个WindowsSharePointServicesWeb站点时,提示:ServiceUnavailable


1.MicrosoftInternet信息服务(IIS)6.0中没有正确地配置用于虚拟服务器的应用程序池,就可能会发生此问题。


解决方案


要解决此问题,按照下列步骤操作:1.验证是否已为虚拟服务器配置了应用程序池。默认的应用程序池是MSSharePointPortalAppPool。


请按照下列步骤来确定虚拟服务器正在使用的应用程序池。


a.单击“开始”,指向“管理工具”,然后单击“Internet信息服务(IIS)管理器”。

b.展开“ServerName”,展开“Web站点”,右键单击虚拟服务器,然后单击“属性”。

c.单击“主目录”选项卡。为虚拟服务器配置的应用程序池列在“应用程序池”框中。

d.单击“确定”。


2.验证应用程序池帐户使用的密码是否正确。IIS不会自动轮询ActiveDirectory目录服务中的密码更改。如果应用程序池帐户是一个域帐户,其密码已过期,则在为此帐户重新指定一个新密码后,您可能会收到本文“症状”部分所描述的错误信息。


3.验证应用程序池帐户是服务器上的IIS_WPG组和STS_WPG组的成员。


4.重新启动IIS以回收应用程序池


ServiceUnavailable”出现的原因


ServiceUnavailable的出现一般是资源不足,如IIS、CPU或内存等。 网页教学网


我们的所有虚拟主机均不限制IIS,因此可以排除IIS不足。


我司所有服务器操作系统均为windows2003,有个很关键的东西就是“应用程序池”


一般情况下为30-50个站共用一个程序池,这个程序池可以简单理解为资源库,即这30-50个站共用这块资源。我们限定一个程序池的CPU占用为60%,内存使用为200M。


如果这个资源被其中一个站用完,则程序池就会停止,所有使用这个程序池的站就会出现“ServiceUnavailable”资源不足的提示,直到该程序池被重新启动。 网页教学网


大多数情况下,60%的CPU和200M内存完全足够使用;如果出现垃圾程序或遇到攻击,则可能出现CPU急速上升或内存大量使用,这个是大部分“ServiceUnavailable”出现的原因。从目前我们监测的情况看,大部分是CPU占用在90%-100%之间出现的。


1、出现“ServiceUnavailable”怎么办? Webjx.Com


我们自主开发了一套专门监视并修复IIS的程序,每隔10分钟自动检查一次IIS,如果发现程序池停止,就会重新启动。因此一旦出现“ServiceUnavailable”,最多不超过10分钟,就会自动修复,大多数情况下只需要2-5分钟。其他大部分公司都没有监控程序,则只能手工修复,一般持续时间为2-6小时才能发现并启动。


2、频繁出现“ServiceUnavailable”怎么办?


 


如果频繁出现了这个提示,则表明其中一个和您共用资源的站出了问题,请联系我们的技术员进行排查。


 


3、出现“ServiceUnavailable”是服务器问题吗?


 

很多人都认为是服务器不稳定的问题,其实不然。如果是服务器问题,不会出现“ServiceUnavailable”的提示,而是直接瘫痪掉,连FTP也上不去。


出现这个是因为有站消耗了大量资源,服务器的资源始终是有限的,如果长期超过设置的值,则服务器会自动停止这个程序池,防止影响其他程序池的用户

1:没有打SP1补丁的时候会出现这个IIS6.0假死问题,但现在微软都在自动更新里面出补丁了,一般你打好最新补丁后是不会出现此问题了 

2:你限制了应用池 的资源过小 

3:你限制了内存使用 

4:就是服务器自身内存太小 

5:就是ACCESS数据库太大或查询太多 

6:不同网站用不同应用池 

7:设置回收时间,很多人以为设置回收池越短越好,其实是错误的 

8:windows 2003系统iis6访问本机的站点时提示“Service Unavailable”; 


查看iis的应用程序池,状况提示为:未 指定错误,同时应用程序池自动停止运行; 

用事件查看器查看系统错误日志,发现如下提示: 


应 用程序-特定 权限设置未将 COM 服务器应用程序(CLSID 为 

{A9E69610-B80D-11D0-B9B9-00A0C922E750} 

) 的 本地 激活 权限授予用户 NT AUTHORITYNETWORK SERVICE SID (S-1-5-20)。可以使用组件服务管理工具修改此安全权限。 

解决方法,给NETWORK SERVICE 加上访问iis服务的权限,具体方法如下: 

点击“开始”-“控制面板”-“管理工具”-“组件服务”-“计算机”-“我的电 脑”-“DCOM”选项, 

选择其下的“IIS ADMIN SERVICE”,右健选择“属性”,找到“安全”,在“启动和激活权限”中编辑“自定义”,添加帐号“NETWORK SERVICE ”,给该帐号赋予“本地启动”和“本地激活”的权限,重新启动IIS之后再访问同一站点,则一切正常。 


9:重启IIS中的特定应 用程序池命令和自动重启的方法 

在操作系统是Windows server 2003 SP1+的情况下,可以用以下命令部分重启IIS应用程序池: 

cscript.exe c:windowssystem32iisapp.vbs /a “DefaultAppPool” 

其 中/a 代表alternatively,”DefaultAppPool”代表应用程序池的实例名 

10:网站有CC攻击 


关于“未指定的错误”的问题 的比较正解的解决方法 


找到三种情况: 

第一种解决方法:使用Ms Access里的“工具->数据库实用工具->压缩和修复数据库”来修复db/global.asa。如果修复

后还是出错,请查看db目录下是否有global.dbl文件,如果有请删除,如无法删除请结束服务器w3wp.exe进程(win2003)或Aspnet_wp.exe进程(win2000)后再删除。 


第二种解决办法: 

设置Internet信息服务(IIS)管理器中的应用程序池,更改网站的程序池属性,主要是性能的设置,其他最好默认设置, 


调整后即可解决问题。 

第三种解决方法: 

其实只要很简单的几步: 

开始。。。运行。。。regsvr32 jscript.dll开始。。。 

运行。。。regsvr32 vbscript.dll开始。。。 

运行。。。iisreset 


第四种解决方法: 

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters 

新建一个DWORD项,名字为:UseSharedWPDesktop 值为1 重启IIS 

IIS应用程序池优化方案

服务器经常产生“应用程序池 'DefaultAppPool' 提供服务的进程关闭时间超过了限制。进程 ID 是 '3504'。”的错误,导致iis处于假死状态,经了解是IIS应用程序池的设置问题。解决方法如下(红色字为标记):

Internet 信息服务(IIS)管理器->应用程序池->DefaultAppPool->右击属性
一、回收
1、回收工作进程(分钟):选中,值为1740 (800)
2、回收工作进程(请求数目):(不选)(原先设置为35000)
3、在下列时间回收工作进程:不填 (03:00)
4、消耗太多内存时回收工作进程:全不选。(2、3、4项可能避免了在访问量高的时候强制回收进程可能引发的服务器响应问题,导致iis假死不响应)(最大虚拟内存350,最大使用的内存200)
二、性能 (都不选)
只选中空闲超时20分钟。其他都不选。WEB园最大工作进程数为1(默认)。注意web园这里一定要保持默认,如果填写其他超过1的数字就会导致一些网站程序的后台程序打不开或者刷新不停。

原来的请求队列限制为4000,现在无限制。(要选就是10000)
三、运行状况
(启用PING,默认)

(启动快速失败保护的钩去掉!)
为了避免真的遇到很多错误时没有提示,可以不关闭,只是把快速保护的保护范围加大些,例如失败数50次 时间段5分钟 则关闭对应的程序。

(启动时间限制90秒,关闭时间限制180秒。)
“关闭时间限制180秒”是必须的,因为进程关闭的时间,原来为90秒限制,是默认值,如果进程关闭时间超过90秒,则认为超时,从而出现:进程关闭时间超过了限制 日志,所以,适当延长这个时间,可以避免这种错误!

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

公司的一个网站程序长时间运行后,速度变慢,重新启动网站后速度明显变快,估计是网站程序占用的内存和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进程,恰好对应两个有应用程序在运行的应用程序池。
service unavailable原因及其应用池解决优化方法
在命令提示符下运行iisapp -a,可以查看w3wp.exe和哪个应用程序池关联。

下图显示了手动执行应用程序池KefuAppPool的回收,在回收前,回收中和回收后应用程序池和工作进程情况。我们注意到:回收过程中增加了一个工作进程(PID=3896),该工作进程(PID=3896)启动好后,旧的工作进程(PID=5716)才被停止,新工作进程(PID=3896)正式替代旧进程工作,这就很好的防止了应用程序池回收过程中服务被中断,保证了程序的连续运行。而其他两个应用程序池对应的工作进程 PID都没用变。该图很好的展示了应用程序池回收的过程。

 

service unavailable原因及其应用池解决优化方法

 

应用程序池这个东西着实让管理服务器的人头疼,如果不设置好网站随时有可能罢工,甚至拖累服务器。因此特地找来此文章供大家参考。

另外说一点,如果网站访问量不是很大,晚上没什么人访问,可以尝试凌晨重启服务器,这样可以提高服务器的速度,为第二天的访问做准备。
 

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

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

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

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

配置应用程序池属性

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

回收

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

 

service unavailable原因及其应用池解决优化方法

 

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

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

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

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

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

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

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

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

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

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



性能

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

 

service unavailable原因及其应用池解决优化方法

 

在空闲此段时间后关闭工作进程(分钟):当工作进程空闲多少分钟后关闭此工作进程,这降低了空闲工作进程对系统资源和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应用程序依赖于工作进程保存状态数据,那么可能不支持使用多个工作进程。

运行状况

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

 

service unavailable原因及其应用池解决优化方法

 

启用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用户组包含了可以启动和运行工作进程的最小权限。

 

service unavailable原因及其应用池解决优化方法

 

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


本文主题:service unavailable原因及其应用池解决优化方法
本文地址:http://www.52qingdao.com/seo_youhua/714.html
雪无痕seo团队:山东seo/山东网站优化/山东百度优化/青岛seo/青岛网站优化/青岛百度优化/山东青岛google优化排名公司
服务项目:解决各种seo网站优化排名推广、网站建设疑难问题,提供【网站优化】【seo优化】【seo工具】【seo技术】【seo排名】【seo教程】【关键词优化】【整站优化】【百度优化】【网络营销】【seo服务】【seo培训】【seo外包】【seo顾问】等【网站seo优化】及【seo查询】咨询QQ号:9710917

温馨提示:本站部分文字及图片均来自于网络,部分内容及图片不代表本站观点如侵犯到您的权益,请及时通知我们!文章来自网络整理,提倡seo技术共享!欢迎转载!转载请保留出处和链接!

SEO

上一篇
下一篇