Service
Unavailable是一种系统的警告提示。
出现 Service Unavailable的原因有几个并附上解决方法:
web服务器正在重启症状表现:网站几天到十几天出现一次Service
Unavailable,并且持续时间在1分钟左右后自动恢复!
解决方法:该症状通常是WEB服务器在重启,一般需要1-2分钟,重启完后就会自动恢复,无需要做任何其他操作等待系统自动恢复即可!
IIS连接数不够症状表现:网站频繁出现Service Unavailable,并且出现Service
Unavailable的时候连续刷新几下偶尔又能正常浏览,而且此类问题多出现在网站访问高峰期,比如下午或晚上,到了凌晨时分就很少出现!
解决方法:该症状可先检查是否网站图片或附件被盗链,最常见的是和其他大流量网站做友情连接时对方直接调用的你的LOGO图片。可以通过修改图片或附件的路径、关闭网站下载来解决,或者联系技术员对站点开启防盗连功能,如果还不行可以考虑升级空间来扩展IIS个数!有部分客户在其他地方比如在taobao上大量调用了网站空间里面的图片占用了大量的IIS导致IIS不够,如果需要在taobao上大量调用图片建议购买不限制IIS的主机产品!
超出系统分配CPU资源症状表现:网站有时候突然出现Service
Unavailable,然后过1分钟后就自动恢复
解决方法:最常见的是使用采集程序时瞬间CPU占用率超出.由于采集和生成HTML需要占用大量的服务器资源,建议在凌晨服务器空闲时候采集生成,另外部分客户的程序由于代码不规范导致CPU瞬间占用过高有时候也会导致这个问题,建议优化代码!
网站程序有问题导致WEB服务应用程序池被系统自动禁用症状表现:网站一直Service
Unavailable
解决方法:此类问题通常是由于网站程序或者和站点同一个应用程序池的其它客户的程序有严重问题,导致应用池自动被禁用,该问题必须联系技术人员帮您更换一个应用程序池!
先简单说一下 很多时候是由于网站空间服务器的配置,或资源限制导致的不足以承受运行的情况,有些是买的时候 不知道有所限制 而不能满足程序的运营需求,最好是联系服务商查阅相关日志 对症下药 如果撑不住最好换机器。
1.出现这种情况是由于您的网站超过了系统资源限制(CPU或者IIS)造成的,
这个现象在WINDOWS2003+IIS6的环境下都会出现,主要是程序占用资源太多。
不同的程序占用的资源都不一样,这个跟程序设计的合理性和优化程度有关;
另外,一些死循环程序,或者不优化的程序都会占用太多的系统资源,而系统资源明显是有限的。 如果一个网站的程序占资源太多或者发生太多的错误,系统日志就会提示:“应用程序池 'User_pooll' 被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误, 或者提示:应用程序池 'User_pooll' 超过了其作业限制设置。
有关更多信息,请参阅微软官方 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。
这时,访问这个网站就会提示:Service Unavailable。
一般系统会在30秒左右恢复正常,多刷新几次就能正常访问了。但是这个时间恢复后因为访问量太大在极短的时间网站又不能上了。
另外,如果网站当前访问人数过多,超过了系统的iis连接数(或CPU峰值)限制,也会出现Service Unavailable的提示(win2k主机下出现连接过多就会提示:连接过多,请稍后再试;而win2003的主机刚直接提示:Service Unavailable)如果经常出现类似的错误,请及时优化网站程序,或者升级你的主机至更高的款型,以获得更多的系统资源。
2.网站超CPU的四种可能原因:
一.网站攻击
二.程序设计不合理,资源占用高,或本身在做占资源的操作,如采集
三.访问量过大
四.有搜索蜘蛛收录
3.程序占用资源太多的原因:
有一个或多个ACCESS数据库在多次读写过程中损坏,微软的MDAC系统在写入这个损坏的ACCESS文件时,ASP线程处于BLOCK状态,结果其他线程只能等待,IIS被死锁了,全部的CPU时间都消耗在DLLHOST(ASP进程)中。 参考解决办法: 压缩和修复我的数据库 下载数据库文件--[如果是.asp的扩展名,请改为.mdb的扩展名]--用ACCESS打开--选择工具--数据库实用工具--压缩和修复数据库--[改回.asp的扩展名]--上传覆盖原来数据库文件
注册了不良的Com组件,特别是用VB开发的ACTIVE X控件,可能导致占用内存使用量不断增长 参考解决办法:尽量减少或避免非官方或是客户要求的不必要的组件
多媒体等文件下载占用服务器带宽 参考解决办法:停止下载
程序问题 需要及时的关闭不再使用的数据库,以避免一直占用服务器资源 在conn.asp 连接数据库字符串语句中加入如下 sub endConnection() conn.close set conn=nothing end sub 其它程序问题:把IE选项里 显示友好HTTP错误信息 的勾取消掉,再访问网站看出现什么错误信息,然后再调试
上传重要的数据库等文件更新,由于正处于受访问状态,可能导致瞬间占用率上升 一般此情况较少,若有出现此情况时,可能有必要先暂停站点,再作更新
ACCESS论坛(如动W)大了以后就很容易出现数据库方面的问题,当你的论坛数据库在30M以上,帖子5万左右,可能就会出现数据库吃不消的情况
建议取消程序中使用的on error resume next这个容错语句,对错误进行调试。 临时解决办法:定期删除多余的数据、压缩数据库,限制论坛灌水,甚至限制论坛注册。如果是ASP论坛,可以使用分表储存功能,会有较好的效果 比较长远办法:更换论坛和数据库,一般都采用商业版本+MSSQL 的方案来解决
Service Unavailable 一、 如果出现“Service Unavailable”的提示,刷新几下又可以访问。
出现这种情况是由于您的网站超过了iis限制造成的由于2003的操作系统在提示IIS过多时并非像2000系统提示“链接人数过多”,而是提示"Service Unavailable",出现这种情况是由于网站超过了系统资源限制造成的,主要是程序占用资源太多。
比如同样是100人在线的论坛,雷傲论坛所占的资源就是PW论坛所占资源的10倍以上;另外,一些死循环程序,或者不优化的程序都会占用太多的系统资源,而系统资源明显是有限的。不过WINDOWS2003的操作系统,各网站之间是以独立进程运行的,不会相互影响。
如果一个网站的程序占资源太多或者发生太多的错误,系统日志就会提示:“应用程序池 'xxx' 被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误,�或者提示:应用程序池 'xxx' 超过了其作业限制设置。这时,访问这个网站就会提示:Service Unavailable。一般系统会在30秒左右恢复正常,多刷新几次就能正常访问了。
另外,如果你的网站当前访问人数过多,超过了系统的iis连接数限制,也会出现Service Unavailable的提示(win2k主机下出现连接过多就会提示:连接过多,请稍后再试;而win2003的主机刚直接提示:Service Unavailable)
二、没有限制IIS连接,还是遭遇Service Unavailable
多见于使用ACCESS数据库的网站,一般使用windows 2003 IIS 6的用户可能这个问题一直正常的系统,突然有一个网站打不开了提示: Service Unavailable 但这个网站并没有限制IIS连接数。然后马上影响到了别的网站,不到一会,其他的网站也全变成了 Service Unavailable 这是什么原因呢?
我们分析后可以知道,还是MS的老问题。ACCESS引擎当了。用服务器医生的文件医生修复,查看修复结果时会发现一些文件引起ACCESS引擎“灾难性故障”及“未将对象引用设置到对象的实例”的错误。 通过文件医生修复后,系统才会恢复正常。
1、验证是否已为虚拟服务器配置了应用程序池。默认的应用程序池是 MSSharePointPortalAppPool。
请按照下列步骤来确定虚拟服务器正在使用的应用程序池。
a). 单击“开始”,指向“管理工具”,然后单击“Internet 信息服务 (IIS) 管理器”。
b). 展开“ServerName”,展开“Web 站点”,右键单击虚拟服务器,然后单击“属性”。
c). 单击“主目录”选项卡。 为虚拟服务器配置的应用程序池列在“应用程序池”框中。
d). 单击“确定”。
2、验证应用程序池帐户使用的密码是否正确。IIS 不会自动轮询 Active Directory 目录服务中的密码更改。如果应用程序池帐户是一个域帐户,其密码已过期,则在为此帐户重新指定一个新密码后,您可能会收到本文“症状”部分所描述的错误信息。
3、 验证应用程序池帐户是服务器上的 IIS_WPG 组和 STS_WPG 组的成员。
4.、重新启动 IIS 以回收应用程序池
第一:数据库的问题
第二:程序的问题
第三:服务器的设置问题
第四:访问的人过多..