在一个项目中遇到了这个问题,一直以为是代码的问题。可是多次修改代码后问题依旧。于是在网上查找了相关的内容。整理如下:
问题的原因1:
采用的jet 数据库连接方式存在问题:
官方关于此问题的连接:http://support.microsoft.com/?id=838306
解决方式:
下载补丁:
chs:WindowsServer2003-KB838306-x86-chs.exe
enu:WindowsServer2003-KB838306-x86-enu.exe
问题的原因2:
asp或者asp.net代码中含有死循环引起
解决方式:
如果你的服务器上只部署了一个网站,那直接查程序就可以了.
如果有多个网站,可采用如下方法查找引起问题的站点:
首先,将每个网站建立独立的应用程序池,应用程序池的安全性帐户设为本地服务.过程如下:
![](https://p-blog.csdn.net/images/p_blog_csdn_net/gslcn/112ce35f0f014837a2701c77fb39f0fc.png)
![](https://p-blog.csdn.net/images/p_blog_csdn_net/gslcn/eda2cd443c46426c811f6cfc2ac5b8fa.png)
![](https://p-blog.csdn.net/images/p_blog_csdn_net/gslcn/d91af4e94a0741ab8724a5d7573237eb.png)
![](https://p-blog.csdn.net/images/p_blog_csdn_net/gslcn/e3737504d8ee479ebafbc36a36261c2f.png)
设置完这些之后,问题依然是存在的,但是这样的好处是一个网站出现问题,不致影响其他网站,但是有可能这个网站仍然占用大量资源,导致其它网站响应缓慢。不过在任务管理器中出现了每个应用程序池的进程,因此可以找到具体出问题的进程了。
其次,是寻找出错网站的过程:
要找到这个网站,必须把有问题的进程跟该网站的应用程序池联系起来。首先设置任务管理器的查看方式,加入PID的显示:
![](https://p-blog.csdn.net/images/p_blog_csdn_net/gslcn/33400a46bf184b4abf1b3bd32e96d26b.png)
![](https://p-blog.csdn.net/images/p_blog_csdn_net/gslcn/22528c5ecd81487292c1ebde6a23ce95.png)
![](https://p-blog.csdn.net/images/p_blog_csdn_net/gslcn/19915e7503054db5b2553a837b99fa72.png)
解决方式:
1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。
2、设置应用程序池的回收时间,默认为1720小时,可以根据情况修改。同时,设置同时运行的w3wp进程数目为1。再设置当内存或者cpu占用超过多少,就自动回收内存
其次优化程序:主要是优化Session、Cache等资源的使用,尽量减少他们的使用频率、大小和生命周期。
还应该有其他原因,有遇到者请回复告知,谢谢您的帮助。
<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>