为什么我的网站有时会出现“Service Unavailable”的提示,刷新几下又可以访问。

2009/6/7 18:11:45    

您好:
       出现这种情况是由于您的网站超过了系统资源限制造成的,主要是程序占用资源太多。比如同样是100人在线的论坛,雷傲论坛所占的资源就是动网论坛所占资源的10倍以上;另外,一些死循环程序,或者不优化的程序都会占用太多的系统资源,而系统资源明显是有限的。由于我们的虚拟主机是采用windows2003的操作系统,各网站之间是以独立进程运行的,不会相互影响。所以请优化您的网站程序如果一个网站的程序占资源太多或者发生太多的错误,系统日志就会提示:“应用程序池''west263pool11''被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误,或者提示:应用程序池''hui999''超过了其作业限制设置。有关更多信息,请参阅在http://go.microsoft.com/fwlink/events.asp的帮助和支持中心。这时,访问这个网站就会提示:serviceunavailable  一般系统会在30秒左右恢复正常,多刷新几次就能正常访问了。另外,如果你的网站当前访问人数过多,超过了系统的iis连接数限制,也会出现serviceunavailable的提示(win2k主机下出现连接过多就会提示:连接过多,请稍后再试;而
win2003的主机刚直接提示:serviceunavailable
如果经常出现类似的错误,请及时优化网站程序,或者升级你的虚拟主机至更高的款型,以获得更多的系统资源。
程序占用资源太多的原因如下:
1.有一个或多个access数据库在多次读写过程中损坏,微软的mdac系统在写入这个损坏的
access文件时,asp线程处于block状态,结果其他线程只能等待,iis被死锁了,全部的cpu时间都消耗在dllhost(asp进程)中。
参考解决办法:压缩和修复我的数据库下载数据库文件--[如果是.asp的扩展名,请改为.mdb的扩展名]--用acces打开--选择工具--数据库实用工--压缩和修复数据库--[改回.asp的扩展名]--上传覆盖原来数据库文件。
2.注册了不良的com组件,特别是用vb开发的activex控件,可能导致占用内存使用量不断增长参考解决办法:尽量减少或避免非官方或是客户要求的不必要的组件。
3.多媒体等文件下载占用服务器带宽参考解决办法:停止下载。
4.程序问题需要及时的关闭不再使用的数据库,以避免一直占用服务器资源在conn.asp连接数据库字符串语句中加入如下
subendconnection()conn.closesetconn=nothingendsub其它程序问题:把ie选项里显示友好http错误信息 的勾取消掉,再访问网站看出现什么错误信息,然后再调试。
5.上传重要的数据库等文件更新,由于正处于受访问状态,可能导致瞬间占用率上升一般此情况较少,若有出现此情况时,可能有必要先暂停站点,再作更新 
6.access论坛(如动网)大了以后就很容易出现数据库方面的问题,当你的论坛数据库在30m以上,帖子5万左右,可能就会出现数据库吃不消的情况临时解决办法:定期删除多余的数据、压缩数据库,限制论坛灌水,甚至限制论坛注册。如果是动网论坛,可以使用论坛自带的分表储存功能,会有较好的效果比较长远办法:更换论坛和数据库,一般都采用动网sql商业版本+mssql的方案来解。
蓝色引力
中国蓝色引力网(专业北京网站建设机构)版权所有 2002-2009