计算机技術文摘

Service Unavailable是什么意思?什么是Service Unavailable?

Service Unavailable,在 网站访问高峰期,网站经常在打开的时候,出现“Service Unavailable”的提示。由于我们使用的服务器的系统是Windows 2003,此系统在系统资源不足的时候,并不会像Windows 2000系统那样,提示“同时在线人数过多,而是提示“Service Unavailable”。

大部分客户都不是因为IIS不够出现的

其实Service Unavailable出现的一个主要问题就是IIS出错 就是管理你站的信息(绑域名,默认首页等等信息)的一个程序 这个程序一出错或者一重新启动的时间内 就会出现Service Unavailable.

那么怎么判断呢?

1:如果长时间出现,无论怎么刷新都是这样,那可能是IIS出错了,比如因为某个客户的程序有问题,导致IIS的池 (若干个站放在一个池里,一个多人合租的服务器里的IIS里大约有10个池,含有子目录的站)爆掉了,这种情况非常少,也有可能是主机商把你所在的池停止 了,也就相当于IIS出错(我们绝对不会这么做的)

2:如果是几十分钟,或者1个小时左右会出现一次,可能是你在的池里有个站占用了比较高的内存或者CPU,导致池因 达到内存上限或CPU上限自动重新启动释放资源了,这个你可以与我们反映一下,我们会检查是否是因为池的重新启动而出现的(采集等会比较占CPU,就会导 致池自动回收资源,所以我们是禁止采集的)

3:如果是部分图片不显示,部分显示,刷新后,该图片又显示了,那么就是IIS不够的.


综合上述情况,我们可以分析出现Service Unavailable的原因可能是如下:

第一:服务器上一个池里的某个程序极占服务器内存或者CPU,当然可能是你的,也可能是另外的客户的程序,如果出现这种情况,可以联系服务器管理员上服务器观察,关掉费资源的站点!

第二:服务器被攻击了,可能你会反问,你们不是有硬件防火墙吗?我只能告诉你我们电脑上装个瑞星软件也只能做到 90%抵抗病毒的能力,还有10%的风险是需要我们自已承担的,黑客攻击一般带有短暂性的,有些技术还不到家,大流量的攻击是需要高水平的,当然也要承担 法律风险,不要轻易尝试!

建议:

第一:把你的主机升级为高端型的虚拟主机!或者如果不是你的程序导致的,可以让服务器管理员独立分配应用程序池给你使用!

第二:让服务器管理员调整安全防范策略,

有几种可能:
一、 如果出现“Service Unavailable”的提示,刷新几下又可以访问。
出现这种情况是由于您的网站超过了iis限制造成的。由于2003的操作系统在提示IIS过多时并非像2000系统提示“链接人数过多”,而是提示 "Service Unavailable",出现这种情况是由于网站超过了系统资源限制造成的,主要是程序占用资源太多。
比如同样是100人在线的论坛,雷傲论坛所占的资源就是PW论坛所占资源的10倍以上;另外,一些死循环程序,或者不优化的程序都会占用太多的系统资源, 而系统资源明显是有限的。不过WINDOWS2003的操作系统,各网站之间是以独立进程运行的,不会相互影响。
如果一个网站的程序占资源太多或者发生太多的错误,系统日志就会提示:“应用程序池 'xxx' 被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误, 或者提示:应用程序池 'xxx' 超过了其作业限制设置。这时,访问这个网站就会提示:Service Unavailable。一般系统会在30秒左右恢复正常,多刷新几次就能正常访问了。

另外,如果你的网站当前访问人数过多,超过了系统的iis连接数限制,也会出现Service Unavailable的提示(win2k主机下出现连接过多就会提示:连接过多
二、没有限制IIS连接,还是遭遇Service Unavailable 。
多见于使用ACCESS数据库的网站。一般使用windows 2003 IIS 6的用户可能这个问题一直正常的系统,突然有一个网站打不开了, 提示: Service Unavailable 但这个网站并没有限制IIS连接数。然后马上影响到了别的网站,不到一会,其他的网站也全变成了 Service Unavailable 。这是什么原因呢?
我们分析后可以知道,还是MS的老问题。ACCESS引擎当了。用服务器医生的文件医生修复,查看修复结果时会发现一些文件引起ACCESS引擎“灾难性故障”及“未将对象引用设置到对象的实例”的错误。 通过文件医生修复后,系统才会恢复正常。
三、浏览一个 Windows SharePoint Services Web 站点时,提示:Service Unavailable
Microsoft Internet 信息服务 (IIS) 6.0 中没有正确地配置用于虚拟服务器的应用程序池,就可能会发生此问题。
要解决此问题,按照下列步骤操作:
1、验证是否已为虚拟服务器配置了应用程序池。默认的应用程序池是 MSSharePointPortalAppPool。
请按照下列步骤来确定虚拟服务器正在使用的应用程序池。
a. 单击“开始”,指向“管理工具”,然后单击“Internet 信息服务 (IIS) 管理器”。
b. 展开“ServerName”,展开“Web 站点”,右键单击虚拟服务器,然后单击“属性”。
c. 单击“主目录”选项卡。 为虚拟服务器配置的应用程序池列在“应用程序池”框中。
d. 单击“确定”。
2、验证应用程序池帐户使用的密码是否正确。IIS 不会自动轮询 Active Directory 目录服务中的密码更改。如果应用程序池帐户是一个域帐户,其密码已过期,则在为此帐户重新指定一个新密码后,您可能会收到本文“症状”部分所描述的错误信息。
3、验证应用程序池帐户是服务器上的 IIS_WPG 组和 STS_WPG 组的成员。
4、重新启动 IIS 以回收应用程序池











部分服务器或网站虚拟主机等访问的时候经常会出现 Service Unavailable  的提示.

windows 2003 服务器系统出现连接数过多或系统资源耗尽等都会出现Service Unavailable 的提示.经常出现这种情况就要考虑升级虚拟主机或服务器配置.

如果进行一个合理的IIS设置.可以更好的避免这种情况的产生.在服务器上进行以下设置.

1、IIS应用程序池--属性--回收工作进程为设置15分钟-60分钟;

2、内存回收下面的两个选项前全部打勾;

3、运行状况--启用快速失败保护的选项将勾去掉 ;

posted on 2007-07-17 09:31 计算机技术博客 阅读(4415) 评论(0)  编辑 收藏 引用 所属分类: 1 Server技术

公告

http://www.nuanbb.com

导航

常用链接

随笔分类(255)

常用链接