网站运营
位置:首页>> 网站运营>> 网站出现Service Unavailable的解决方法

网站出现Service Unavailable的解决方法

  发布时间:2010-05-03 14:35:00 

标签:Service,Unavailable,错误,iis

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

出现原因

  Service Unavailable的出现一般是资源不足,如IIS、CPU或内存等,极少数情况下会因asp.net程序错误导致出现。
  我们的所有虚拟主机均不限制IIS和CPU,因[1]此可以排除IIS和CPU。
  我司所有服务器操作系统均为windows2003,有个很关键的东西就是“应用程序池”
  一般情况下为多个站共用一个程序池,这个程序池可以简单理解为资源库,即这些站点共用这块资源;内存限制为500M物理内存(服务器为8G内存)。
  如果这个资源被其中一个站用完,则程序池就会停止,所有使用这个程序池的站就会出现“Service Unavailable”的提示,直到该程序池被重新启动。
  大多数情况下,500M内存完全足够使用;如果出现垃圾程序或遇到攻击,则可能出现CPU急速上升或内存大量使用,这是大部分“Service Unavailable”出现的原因。从目前我们监测的情况看,大部分是CPU占用在90%-100%之间出现的。

分类解决方法

  
  一、 如果出现“Service Unavailable”的提示,刷新几下又可以访问。
  出现这种情况是由于您的网站超过了iis限制造成的由于2003的操作系统在提示IIS过多时并非像2000系统提示“链接人数过多”,而是提示"Service Unavailable",出现这种情况是由于网站超过了系统资源限制造成的,主要是程序占用资源太多。
  比如同样是100人在线的论坛,雷傲论坛所占的资源就是PW论坛所占资源的10倍以上;另外,一些死循环程序,或者不优化的程序都会占用太多的系统资源,而系统资源明显是有限的。不过WINDOWS2003的操作系统,各网站之间是以独立进程运行的,不会相互影响。
  另外,如果你的网站当前访问人数过多,超过了系统的iis连接数限制,也会出现Service Unavailable的提示(win2k主机下出现连接过多就会提示:连接过多,请稍后再试;而win2003的主机刚直接提示:Service Unavailable)

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

多见于使用ACCESS数据库的网站,一般使用windows 2003 IIS 6的用户可能这个问题一直正常的系统,突然有一个网站打不开了提示: Service Unavailable 但这个网站并没有限制IIS连接数。然后马上影响到了别的网站,不到一会,其他的网站也全变成了 Service Unavailable 这是什么原因呢?
  我们分析后可以知道,还是MS的老问题。ACCESS引擎当了。用服务器医生的文件医生修复,查看修复结果时会发现一些文件引起ACCESS引擎“灾难性故障”及“未将对象引用设置到对象的实例”的错误。 通过文件医生修复后,系统才会恢复正常。

0
投稿

猜你喜欢

手机版 网站运营 asp之家 www.aspxhome.com