503 Service Unavailable No server is available to handle this request.

503 Service Unavailable No server is available to handle this request.,第1张

先简单说一下

很多时候是由于网站空间服务器的配置

或者资源限制导致的不足以承受运行的情况

有些是买的时候

不知道有所限制

而不能满足程序的运营需求

最好是联系服务商查阅相关日志

对症下药

如果撑不住最好换机器

-----------------------------------------

出现这种情况是由于您的网站超过了系统资源限制(CPU或者IIS)造成的,

这个现象在WINDOWS2003+IIS6的环境下都会出现,主要是程序占用资源太多

不同的程序占用的资源都不一样,这个跟程序设计的合理性和优化程度有关;

另外,一些死循环程序,或者不优化的程序都会占用太多的系统资源,而系统资源明显是有限的。

如果一个网站的程序占资源太多或者发生太多的错误,系统日志就会提示:“应用程序池

'User_pooll'

被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误,

或者提示:应用程序池

'User_pooll'

超过了其作业限制设置。

有关更多信息,请参阅微软官方

http://go.microsoft.com/fwlink/events.asp

的帮助和支持中心。

这时,访问这个网站就会提示:Service

Unavailable。

一般系统会在30秒左右恢复正常,多刷新几次就能正常访问了。但是这个时间恢复后因为访问量太大在极短的时间网站又不能上了。

另外,如果网站当前访问人数过多,超过了系统的iis连接数(或CPU峰值)限制,也会出现Service

Unavailable的提示(win2k主机下出现连接过多就会提示:连接过多,请稍后再试;而win2003的主机刚直接提示:Service

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

网站超CPU的四种可能原因:

一.网站攻击

二.程序设计不合理,资源占用高,或本身在做占资源的 *** 作,如采集

三.访问量过大

四.有搜索蜘蛛收录

程序占用资源太多的原因:

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

参考解决办法:

压缩和修复我的数据库

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

注册了不良的Com组件,特别是用VB开发的ACTIVE

X控件,可能导致占用内存使用量不断增长

参考解决办法:尽量减少或避免非官方或是客户要求的不必要的组件

多媒体等文件下载占用服务器带宽

参考解决办法:停止下载

程序问题

需要及时的关闭不再使用的数据库,以避免一直占用服务器资源

在conn.asp

连接数据库字符串语句中加入如下

sub

endConnection()

conn.close

set

conn=nothing

end

sub

其它程序问题:把IE选项里

显示友好HTTP错误信息

的勾取消掉,再访问网站看出现什么错误信息,然后再调试

上传重要的数据库等文件更新,由于正处于受访问状态,可能导致瞬间占用率上升

一般此情况较少,若有出现此情况时,可能有必要先暂停站点,再作更新

ACCESS论坛(如动W)大了以后就很容易出现数据库方面的问题,当你的论坛数据库在30M以上,帖子5万左右,可能就会出现数据库吃不消的情况

建议取消程序中使用的on

error

resume

next这个容错语句,对错误进行调试。

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

比较长远办法:更换论坛和数据库,一般都采用商业版本+MSSQL

的方案来解决

出现这种情况是由于网站超过了iis限制造成的。

由于2003的 *** 作系统在提示IIS过多时并非像2000系统提示“链接人数过多”,而是提示"Service Unavailable",出现这种情况是由于网站超过了系统资源限制造成的,主要是程序占用资源太多,通过设置应用程序池把账户改为NetworkService即可解决。

解决办法如下:

1、在windows系统中,打开开始菜单,搜索iis,并打开。

2、打开iis管理后,在最右侧找到 *** 作栏,点击打开查看应用程序池。

3、进入应用程序池后,点击选择defaultapppool。

4、点击选中后,在右边的 *** 作栏中,点击打开高级设置。

5、进入到高级设置后,下翻滚动找到进程模型里面的标识。

6、找到标识后,点击后面的选项框。

7、点击后,d出应用程序标识池,在内置账户中选择NetworkService,点击确定后,即可解决。

数据库吃内存。根据查询相关资料信息显示,在读取效率上,从内存中读取数据肯定比从硬盘中读取数据要快。从写入效率上来看,当内存比较大的时候,我们需要往硬盘中写数据的时候,就不用每次都写,可以先缓存着,攒够了再一次性写入(延缓写入)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6903360.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-30
下一篇 2023-03-30

发表评论

登录后才能评论

评论列表(0条)

保存