> 教程分享 > 网站正常,时而出现Service Unavailable提示怎么办?

网站正常,时而出现Service Unavailable提示怎么办?

我们也许遇到这样一个问题,访问某一个站有些时候出现Service Unavailable提示,或者自己建的站也出现这样的提示!在这博主针对自己拥有网站的管理权限来说的哦!

问:为什么我的网站有时会出现“Service Unavailable”的提示,有时候刷新几下又可以访问。
答: 出现这种情况是由于您的网站超过了系统资源限制造成的,主要是流量太大或者程序占用资源太多或者被攻击或者被不间断的采集等等,反正就是系统给你的资源已经不足了。

1.流量太大
比如您购买的是虚拟主机,该主机的额定流量是15G/月。如果您的网站每月流量在15G,每天流量在0.5G以下,则应该能正常访问。如果连续几天的访问量上升,流量超过0.5G/天,则该主机属于超负荷 运行。 超负荷运行情况下,则会出现有时能正常访问,有时被系统自动停止(Service Unavailable)的情况。 解决办法是:首先登录虚拟主机管理中心查看最近的访问统计和流量统计,看看流量有没有异常增加的情况,有时站内的个别RAR或者mp3文件被其他网站盗链,则会出现流量上升几十倍的情况。通过我们提供的日志下载功能和访问统计中的"文件类别"功能进行分析,可以得出是否有盗链或者被大量下载。如果是流量自然增长,购买的型号不能满足要求,则需要对虚拟主机型号进行升级,以获得更多的流量配额。
2.程序占用资源过多
如果是刚刚才搭建的,本来流量就少的,这个可能就是程序问题了,也许你所使用的程序在另外一些主机下没有问题,但在这个主机却有问题,原因在于不同的主机商的配置环境各方面还是有点小小的差别的,这时候就要优化自己的程序或者模板啦!有些代码可能自己在修改的时候造成了一些死循环等!

程序占用资源太多的原因如下(网络参考文章):



1.有一个或多个ACCESS数据库在多次读写过程中损坏

微软的MDAC系统在写入这个损坏的ACCESS文件时,ASP线程处于BLOCK状态,结果其他线程只能等待,IIS被死锁了,全部的CPU时间都消耗在DLLHOST(ASP进程)中。

参考解决办法:
压缩和修复我的数据库
下载数据库文件--[如果是.asp的扩展名,请改为.mdb的扩展名]--用ACCESS打开--选择工具--数据库实用工具--压缩和修复数据库--[改回.asp的扩展名]--上传覆盖原来数据库文件

2.注册了不良的Com组件

特别是用VB开发的ACTIVE X控件,可能导致占用内存使用量不断增长
参考解决办法:尽量减少或避免非官方或是客户要求的不必要的组件
3.多媒体等文件下载占用服务器带宽
参考解决办法:停止下载
4.程序问题
需要及时的关闭不再使用的数据库,以避免一直占用服务器资源 在conn.asp 连接数据库字符串语句中加入如下 sub endConnection() conn.close set conn=nothing end sub
其它程序问题:把IE选项里 显示友好HTTP错误信息 的勾取消掉,再访问网站看出现什么错误信息,然后再调试
5.上传重要的数据库等文件更新,

由于正处于受访问状态,可能导致瞬间占用率上升
一般此情况较少,若有出现此情况时,可能有必要先暂停站点,再作更新
6.ACCESS论坛(如动网)大了以后就很容易出现数据库方面的问题,

当你的论坛数据库在30M以上,帖子5万左右,可能就会出现数据库吃不消的情况
7.建议取消程序中使用的on error resume next这个容错语句,对错误进行调试。

临时解决办法:定期删除多余的数据、压缩数据库,限制论坛灌水,甚至限制论坛注册。如果是动网论坛,可以使用论坛自带的分表储存功能,会有较好的效果

比较长远办法:更换论坛和数据库,一般都采用动网sql商业版本+MSSQL 的方案来解决