windows2003 iis6.0假死问题解决

在一个项目中遇到了这个问题,一直以为是代码的问题。可是多次修改代码后问题依旧。于是在网上查找了相关的内容。整理如下:

问题的原因1:
采用的jet 数据库连接方式存在问题:
官方关于此问题的连接:http://support.microsoft.com/?id=838306

解决方式:
下载补丁:
chs:WindowsServer2003-KB838306-x86-chs.exe
enu:WindowsServer2003-KB838306-x86-enu.exe

问题的原因2:
asp或者asp.net代码中含有死循环引起

解决方式:
如果你的服务器上只部署了一个网站,那直接查程序就可以了.
如果有多个网站,可采用如下方法查找引起问题的站点:

首先,将每个网站建立独立的应用程序池,应用程序池的安全性帐户设为本地服务.过程如下:
 

新建应用程序池:
然后将网站的应用程序池指向刚才建立的应用程序池:
在建立完所有应用程序池后,统一修改应用程序池的属性:
  
将应用程序池安全帐户指定为本地服务:

设置完这些之后,问题依然是存在的,但是这样的好处是一个网站出现问题,不致影响其他网站,但是有可能这个网站仍然占用大量资源,导致其它网站响应缓慢。不过在任务管理器中出现了每个应用程序池的进程,因此可以找到具体出问题的进程了。

其次,是寻找出错网站的过程:

要找到这个网站,必须把有问题的进程跟该网站的应用程序池联系起来。首先设置任务管理器的查看方式,加入PID的显示:

 

先设置任务管理器的查看方式,加入PID的显示:
然后再命令行运行 iisapp -a ,可以看到 PID 跟应用程序池的对应关系:
问题的原因3:
access数据库后缀名的问题.
解决方式:
试着将数据库的后缀名改为asp或者是该回mdb有可能解决此问题,具体为什么不清楚.建议在使用此方法前对数据做备份.
问题的原因4:
IIS6.0压缩损坏导致访问冲突。
解决方式:
问题的原因5:
w3wp 的内存占用不能及时释放,从而导致服务器响应速度很慢。
解决方式:
首先优化iis配置如下,

1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。
2
、设置应用程序池的回收时间,默认为1720小时,可以根据情况修改。同时,设置同时运行的w3wp进程数目为1。再设置当内存或者cpu占用超过多少,就自动回收内存

其次优化程序:主要是优化SessionCache等资源的使用,尽量减少他们的使用频率、大小和生命周期。

还应该有其他原因,有遇到者请回复告知,谢谢您的帮助。

<script src="http://club.book.csdn.net/people/javascript/gslcn1.js"> </script><script src="http://club.book.csdn.net/people/javascript/gslcn2.js"> </script><script src="http://club.book.csdn.net/people/javascript/gslcn3.js"> </script>
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值