网站出现Service Unavailable提示怎么办?

云网络2年前 (2021-12-11)建站教程1179

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

答: 出现这种情况是由于您的网站超过了系统资源限制造成的,主要是流量太大或者程序占用资源太多。



1.流量太大

比如您购买的是b002型基础型主机,该主机的额定流量是15G/月。如果您的网站每月流量在15G,每天流量在0.5G以下,则应该能正常访问。如果连续几天的访问量上升,流量超过0.5G/天,则该主机属于超负荷 运行。 超负荷运行情况下,则会出现有时能正常访问,有时被系统自动停止(Service Unavailable)的情况。 解决办法是:首先登录虚拟主机管理中心查看最近的访问统计和流量统计,看看流量有没有异常增加的情况,有时站内的个别RAR或者mp3文件被其他网站盗链,则会出现流量上升几十倍的情况。通过我们提供的日志下载功能和访问统计中的"文件类别"功能进行分析,可以得出是否有盗链或者被大量下载。如果是流量自然增长,购买的型号不能满足要求,则需要对虚拟主机型号进行升级,以获得更多的流量配额。 



2.程序占用资源过多

比如同样是100人在线的论坛,雷傲论坛所占的资源就是动网论坛所占资源的10倍以上;另外,一些死循环程序,或者不优化的程序(比如1.0版的阿江统计在数据库太大的情况下)都会占用太多的系统资源,而系统资源明显是有限的。由于我们的新虚拟主机是采用WINDOWS2003的操作系统,各网站之间是以独立进程运行的,不会相互影响。


如果一个网站的程序占资源太多或者发生太多的错误,这时,访问这个网站就会提示:Service Unavailable。一般系统会在30秒左右恢复正常,多刷新几次就能正常访问了。

如果经常出现类似的错误,请及时优化网站程序,或者升级你的虚拟主机至更高的款型,以获得更多的系统资源。


目前我司虚拟主机控制面板已经开始提供“cpu占用率分析”功能,通过该功能,可以轻易查出具体是哪些文件太占资源。





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





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 的方案来解决


相关文章

什么是交叉编译(CROSS_COMPILE)

什么是交叉编译(CROSS_COMPILE)

交叉编译(CROSS_COMPILE)是一种编程方法,在一种架构或平台上编译代码,以在另一种完全不同的架构或平台上运行。其用途有:1. 嵌入式系统开发;2. 多平台支持;3. 性能优化。为嵌入式系统开...

小米Redmi K70 Pro代号曝光: Manet 132

近日,有消息称一款代号为“Manet”的新机即将发布,这款新机就是小米Redmi K70 Pro。据爆料,这款新机将搭载高通的SM8650处理器,也就是骁龙8 Gen 3移动平台,并配备5000万像素...

常用的测试用例管理工具有哪些

常用的测试用例管理工具有哪些

PingCode 是国内的一站式软件研发项目管理工具,在2021年曾被36氪评为国内研发项目管理工具前二。被广泛用于需求管理、敏捷/瀑布/看板项目管理、测试管理、文档管理等工作领域。Ping...

网页设计师须知的10个SEO技巧

如今,Web设计师在设计Web外观与风格的同时,往往还负责了前端代码的编写。换句话说,SEO的相当一部分 责任是落在他们肩上的。然而,大量的Web设计师对SEO的熟悉程度仍不足以让他们写出一个符合要求...

Java里面取值(get)跟赋值(set)有什么区别

区别有:1. 取值(get):用于读取对象的属性值,不改变对象的状态;2. 赋值(set):用于修改对象的属性值,可能改变对象的状态;3. 访问控制:通过get和set方法,可以实现对属性的封装和保护...

成龙周杰伦合唱《千里之外》:全场尖叫不断

9月9日消息,据媒体报道,周杰伦在天津举办演唱会,当唱到《千里之外》副歌的时候,随着升降台的上升,成龙现身舞台中央,全场尖叫不断。据悉,《千里之外》由方文山作词,周杰伦作曲,是周杰伦的代表作品之一。这...