Win2003 IIS 6.0 假死问题解决方法 图文教程
更新时间:2010年06月08日 18:07:38 作者:
几天服务器总是运行缓慢,远程登录后发现一个 w3wp.exe 的进程占用了 100% CPU。
问题的原因最终找到两个:
1、采用的jet 数据库连接方式存在问题:http://support.microsoft.com/?id=838306
补丁文件 中文版:WindowsServer2003-KB838306-x86-chs.exe
英文版:WindowsServer2003-KB838306-x86-enu.exe
2、将 Access 数据库扩展名改为 asp
下面是差错过程和解决方案:
搜索一下发现类似问题还真不少,那个w3wp的进程是iis6.0的应用程序池,网上的说法有两种,一是因为asp或者asp.net代码中含有死循环引起的。但是服务器上这么多网站,谁知道那个网站出了问题。二是由于上面的jet连接数据库方式的bug引起的,下载838306的补丁,或者升级到sp1可以解决这个问题,但是打了这个补丁后,有些网站的问题依然存在。
又去搜索,有人说将每个网站建立独立的应用程序池,应用程序池的安全性帐户设为本地服务即可。方法如下:
首先新建应用程序池:

然后将网站的应用程序池指向刚才建立的应用程序池:

在建立完所有应用程序池后,统一修改应用程序池的属性:

将应用程序池安全帐户指定为本地服务:

设置完这些之后,问题依然存在,这样一个网站出现问题,不致影响其他网站,但是这个网站仍然占用大量资源,导致其它网站响应缓慢。不过在任务管理器中出现了每个应用程序池的进程,因此可以找到具体出问题的进程了。
下面是寻找出错网站的过程:要找到这个网站,必须把有问题的进程跟该网站的应用程序池联系起来。首先设置任务管理器的查看方式,加入PID的显示:


然后再命令行运行iisapp -a,可以看到PID跟应用程序池的对应关系:

再去iis中看该应用程序池对应的网站,有问题的网站就找到了,剩下的就是这个网站代码中的问题了。
在某位网站管理员的纠缠不休下,我终于无法忍受,帮他找错误——无数次配置iis,网站程序也换了,该升级的也升级了,问题还是存在,黔驴技穷,把网站下载到本地看看到底怎么回事。当我试图打开他的数据库的时候,问题出现了:
他的数据库是.asp的扩展名,要先修改为.mdb才能打开,但是当我点击要改名字的时候,我的电脑没有响应了!看来问题在这个数据库了。
用命令行rename之后,打开数据库,修复,似乎没有任何问题,但是再改为.asp时,又出现了刚才的问题。原来是.asp的扩展名在作怪。
但是我试着将其他的数据库改为.asp,没有问题。根本原因不得而知,望知情者告知。
最后,在iis中随便添加了一个isapi对应到mdb,造成mdb无法执行,防止下载,将所有的.asp的数据库改回.mdb,问题解决。
1、采用的jet 数据库连接方式存在问题:http://support.microsoft.com/?id=838306
补丁文件 中文版:WindowsServer2003-KB838306-x86-chs.exe
英文版:WindowsServer2003-KB838306-x86-enu.exe
2、将 Access 数据库扩展名改为 asp
下面是差错过程和解决方案:
搜索一下发现类似问题还真不少,那个w3wp的进程是iis6.0的应用程序池,网上的说法有两种,一是因为asp或者asp.net代码中含有死循环引起的。但是服务器上这么多网站,谁知道那个网站出了问题。二是由于上面的jet连接数据库方式的bug引起的,下载838306的补丁,或者升级到sp1可以解决这个问题,但是打了这个补丁后,有些网站的问题依然存在。
又去搜索,有人说将每个网站建立独立的应用程序池,应用程序池的安全性帐户设为本地服务即可。方法如下:
首先新建应用程序池:

然后将网站的应用程序池指向刚才建立的应用程序池:

在建立完所有应用程序池后,统一修改应用程序池的属性:

将应用程序池安全帐户指定为本地服务:

设置完这些之后,问题依然存在,这样一个网站出现问题,不致影响其他网站,但是这个网站仍然占用大量资源,导致其它网站响应缓慢。不过在任务管理器中出现了每个应用程序池的进程,因此可以找到具体出问题的进程了。
下面是寻找出错网站的过程:要找到这个网站,必须把有问题的进程跟该网站的应用程序池联系起来。首先设置任务管理器的查看方式,加入PID的显示:


然后再命令行运行iisapp -a,可以看到PID跟应用程序池的对应关系:

再去iis中看该应用程序池对应的网站,有问题的网站就找到了,剩下的就是这个网站代码中的问题了。
在某位网站管理员的纠缠不休下,我终于无法忍受,帮他找错误——无数次配置iis,网站程序也换了,该升级的也升级了,问题还是存在,黔驴技穷,把网站下载到本地看看到底怎么回事。当我试图打开他的数据库的时候,问题出现了:
他的数据库是.asp的扩展名,要先修改为.mdb才能打开,但是当我点击要改名字的时候,我的电脑没有响应了!看来问题在这个数据库了。
用命令行rename之后,打开数据库,修复,似乎没有任何问题,但是再改为.asp时,又出现了刚才的问题。原来是.asp的扩展名在作怪。
但是我试着将其他的数据库改为.asp,没有问题。根本原因不得而知,望知情者告知。
最后,在iis中随便添加了一个isapi对应到mdb,造成mdb无法执行,防止下载,将所有的.asp的数据库改回.mdb,问题解决。
相关文章
云服务器Window Server 2012R系统安装MySQL的详细教程
这篇文章主要介绍了云服务器Window Server 2012R系统安装MySQL的详细教程,非常不错,具有参考借鉴价值,需要的朋友可以参考下2017-02-02
Windows 2012 R2自建安装IIS 8.5的实现步骤
Windows Server系统默认不包含IIS,需要手动安装,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2024-10-10
Windows Server 2019 DNS服务器搭建的实践步骤
DNS是域名和与之相对应的IP地址转换的服务器,本文主要介绍了Windows Server 2019 DNS服务器搭建的实践步骤,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2024-04-04
Windows Server 2008 R2网站访问PHP响应慢的解决方法
这篇文章主要介绍了Windows Server 2008 R2网站访问PHP响应慢的解决方法,需要的朋友可以参考下2015-09-09
Windows Server 2019 如何配置基于本地的组策略
这篇文章主要介绍了如何配置基于本地的组策略,基于本地的组策略只作用于本计算机及其上的用户,对其他计算机和用户不生效,通过5个子任务实例来验证本地组策略设置对本地工作环境的影响2023-05-05
win2003 虚机主机全面支持 access 2007的方法
目前国内大部分虚拟主机依然采用windows server 2003系统,但是现在也有一部分程序的数据库是access 2007的 默认windows server 2003 是不支持access 2007的数据库的!2009-06-06
网站无法响应HTTP/1.1_Server Too Busy
前几天网站出现不能浏览,查看应用程序日志显示server too busy ,下面是具体的解决思路与方法2011-04-04


最新评论