|
|
快点注册登录,一起玩更精彩!
您需要 登录 才可以下载或查看,没有帐号?加入我们
x
问:为什么我的网站有时会出现“Service Unavailable”的提示,刷新几下又可以访问。$ n! p3 H" |0 X; n) r
: a- O, R4 |* L, i
答: 出现这种情况是由于您的网站超过了系统资源限制造成的,主要是流量太大或者程序占用资源太多。
* Q) m2 v" y H/ E/ V1.流量太大 # M5 ]+ ^" F& `7 P
比如您购买的是b002型基础型主机,该主机的额定流量是15G/月。如果您的网站每月流量在15G,每天流量在0.5G以下,则应该能正常访问。如果连续几天的访问量上升,流量超过0.5G/天,则该主机属于超负荷 运行。超负荷运行情况下,则会出现有时能正常访问,有时被系统自动停止(Service Unavailable)的情况。解决办法是:首先登录虚拟主机管理中心查看最近的访问统计和流量统计,看看流量有没有异常增加的情况,有时站内的个别RAR或者mp3文件被其他网站盗链,则会出现流量上升几十倍的情况。通过我们提供的日志下载功能和访问统计中的"文件类别"功能进行分析,可以得出是否有盗链或者被大量下载。如果是流量自然增长,购买的型号不能满足要求,则需要对虚拟主机型号进行升级,以获得更多的流量配额。
& L+ x% b- }& O2.程序占用资源过多5 G$ J6 e8 ~* z2 E6 f! L7 Z
比如同样是100人在线的论坛,雷傲论坛所占的资源就是动网论坛所占资源的10倍以上;另外,一些死循环程序,或者不优化的程序(比如1.0版的阿江统计在数据库太大的情况下)都会占用太多的系统资源,而系统资源明显是有限的。由于我们的新虚拟主机是采用WINDOWS2003的操作系统,各网站之间是以独立进程运行的,不会相互影响。
7 J4 v+ q1 ?- A7 u, o) b% _
" \! C! h6 e3 J }/ {- ?( C( F1 M! E% {! ? 如果一个网站的程序占资源太多或者发生太多的错误,系统日志就会提示:“应用程序池 'west263pool11' 被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误, 或者提示:应用程序池 'hui999' 超过了其作业限制设置。有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。# q% h) K0 R4 l& A$ V+ M* ^) R# f- D
这时,访问这个网站就会提示:Service Unavailable。一般系统会在30秒左右恢复正常,多刷新几次就能正常访问了。+ t( K# S/ }+ D# w
如果经常出现类似的错误,请及时优化网站程序,或者升级你的虚拟主机至更高的款型,以获得更多的系统资源。
2 q" n7 ]4 I0 N$ x, t- [% O Y$ w
1 h! a$ {3 f0 @2 [# M+ j1 B+ k程序占用资源太多的原因如下:
5 m+ t2 [5 ]* j( b( I3 P1.有一个或多个ACCESS数据库在多次读写过程中损坏,微软的MDAC系统在写入这个损坏的ACCESS文件时,ASP线程处于BLOCK状态,结果其他线程只能等待,IIS被死锁了,全部的CPU时间都消耗在DLLHOST(ASP进程)中。
' `5 [/ @$ {2 A4 a& f* c$ |参考解决办法:
2 C, ]0 S0 `+ M5 g压缩和修复我的数据库* c$ J% t4 ~' ~+ [: P9 q
下载数据库文件--[如果是.asp的扩展名,请改为.mdb的扩展名]--用ACCESS打开--选择工具--数据库实用工具--压缩和修复数据库--[改回.asp的扩展名]--上传覆盖原来数据库文件
1 X( w% V, i) p- o
! M# l6 W+ M+ ~. D4 y9 g' o' _ _0 ^2.注册了不良的Com组件,特别是用VB开发的ACTIVE X控件,可能导致占用内存使用量不断增长
- i0 W4 \* o. U/ B: b2 h) k参考解决办法:尽量减少或避免非官方或是客户要求的不必要的组件# j' Q# f, `& R6 r: ^ |4 t* i
3.多媒体等文件下载占用服务器带宽
% t8 H; L) o. w( o参考解决办法:停止下载: I% l) y) F) E
4.程序问题* Q2 O6 D+ Q' ~/ a, c
需要及时的关闭不再使用的数据库,以避免一直占用服务器资源 在conn.asp 连接数据库字符串语句中加入如下 sub endConnection() conn.close set conn=nothing end sub 9 I6 u: s) h. W# i, N, d
其它程序问题:把IE选项里 显示友好HTTP错误信息 的勾取消掉,再访问网站看出现什么错误信息,然后再调试
4 h, q# {! G4 |. `7 q/ D5.上传重要的数据库等文件更新,由于正处于受访问状态,可能导致瞬间占用率上升
5 U. i! |: ^, v一般此情况较少,若有出现此情况时,可能有必要先暂停站点,再作更新 ' h+ X U- Q. k8 x5 \% e O
6.ACCESS论坛(如动网)大了以后就很容易出现数据库方面的问题,当你的论坛数据库在30M以上,帖子5万左右,可能就会出现数据库吃不消的情况
1 S3 r1 j6 T4 U" U: n+ |1 ^& g
# R& [" A; R% W$ U1 p( w- x4 A7.建议取消程序中使用的on error resume next这个容错语句,对错误进行调试。 临时解决办法:定期删除多余的数据、压缩数据库,限制论坛灌水,甚至限制论坛注册。如果是动网论坛,可以使用论坛自带的分表储存功能,会有较好的效果
: W+ r6 k/ I6 Y: Z1 x比较长远办法:更换论坛和数据库,一般都采用动网sql商业版本+MSSQL 的方案来解决
2 X- O* j6 D/ L) N. z$ i, ?
0 y# o. p' C& |9 i, E1 b205上经常有Service Unavailable错误
3 M, i: U3 C c9 [8 F; i
8 F L- k: N9 i. e4 f因为出现Service Unavailable错误而使网站不能访问;2 O( F" K* u3 S5 e
查看系统日志,发现
) e# b$ ^+ H2 A1、为应用程序池“DefaultAppPool”提供服务的进程在与World Wide Web Publishing 服务通信时遇到致命错误,进程ID为“3984”,数据字段包含错误号;
( H5 S5 {% z" d% @2 @ G2 \- y这警告出现5,6个后," P% g9 P8 K. p( f3 G; t4 X5 z3 C8 _1 s. ?
2、应用程序“DefaultAppPool”被自动禁用,原因是此应用程序池提供服务的进程中出现一系列错误4 m( W& M6 ^3 L. M
8 d8 Q- Q( K% h. o) F* w9 {
查找一些资料,说是需要回收一下进程,于是设置应用程序池的回收为每天的6:30;
* J2 G0 ~5 x' v& Z( y0 _另外也不排除网站程序出错的可能,于是首先将繁体版的网站运行到应用程序池apppool_GB5上,看看下次Service Unavailable会出现在哪个应用程序池,如果apppool_GB5上出现错误,说明繁体版网站有问题,如果还是DefaultAppPool错误的那继续将其下的其他分站点转移出来,一个个排查1 F+ B# H9 D5 m. O6 k$ m
. g- V; G( D7 {请参考微软的KB885654,里面有详细的解决方案。
# u# A4 G8 K% o J7 P4 Shttp://support.microsoft.com/Default.aspx?id=885654
% j: ~5 z( Q; w3 ~% f8 n: f或许有用
" l3 x" z1 W' Y1 y8 s2 V不过我想应该都查的到,只是不会改罢了 |
|