w3wp.exe进程CPU占用高的解决办法

近期学院首页服务器经常出现w3wp.exe进程访问量占到99%的 现象,百度后了解原因为代码中存在死循环,前几天一直没有想到方法查找哪个文件出了问题,今天参加同学聚会,喝了点小酒,突然想到一个方法:将学院主页及 各教学系部的网站都尽量跑在独立的空间(资源池),让其之间不会相互影响。但是这样得有一个前提条件,就是IIS访问“虚拟目录”的优先级必须大于实际目 录的优先级。
举例来说,假设根目录/下有一个实际的文件夹Kaisir,以及一个虚拟目录Kaisir,那我们从浏览器中访问/Kaisir,是访问的虚拟目录还是实际目录呢?经试验,是优先访问的虚拟目录。这样就为我接下来的测试奠定了基础。
接下来,我建立了一系列的资源池,首 先将网站“主站部分”与“系科设置”部分分开,放入两个不同的资源池,等到一会CPU占用飙高,通过一个命令“iisapp -a”可以显示出每个“资源池”与“w3wp.exe”进程的对应关系,通过对应关系,可以判断是主站的代码出了问题,还是下面各教学系的代码出现问题。


通过iisapp -a 查看对应关系,发现是“系科设置”这个目录下的文件造成了w3wp.exe占用99%的问题(这里我舒了一口气……嘿嘿 我看来我修正惠新的代码质量还是挺高的 :) 嘿嘿 )接下来,我就按照教学系建立资源池与虚拟目录,再次通过iisapp -a查看对应关系,终于发现了是“gmx”这个夹子内的代码出现问题,尝试访问,发现一直都打不开,而且服务器w3wp.exe占用率再次飙升到 100%。暂时取消掉这个虚拟目录的asp执行权限,并强制结束这个w3wp.exe进程(这是利用虚拟目录与资源池的一大好处:可以随意的结束掉死掉的 进程而不用担心会影响其他站点的访问。当然最后我会总结) 继续阅读“w3wp.exe进程CPU占用高的解决办法”

解决iis不能上传大文件的方法

尝试修改学院使用的CMS 发现很长的文章发布不出来 查询资料后发现IIS默认只允许上传200k左右的post数据
既然知道了如此 解决方法也就变得很简单了:

1)Down掉IIS Admin服务
2)修改x:WindowsSystem32Inetsrvmetabase.xml文件 将“AspMaxRequestEntityAllowed”的值改为“1073741824”(这是1GB 吼吼……注意这里的单位是字节)
3)重新启动IIS Admin服务 重启WWW服务,搞定。

在这里还有一个细节要注意,就是修改这个Metabase.xml时一定要保存为utf-8编码的文件,否则会造成IIS Admin服务无法启动~~~

资料原文如下:

‘ASP 0104 : 80004005’ Operation not Allowed Solution

Question:
——————————————————————————–
Request object error ‘ASP 0104 : 80004005’
Operation not Allowed
Answer:
——————————————————————————–

Yes, Pure ASP Upload supports uploading large files on the Windows 2003 server. However:

IIS6.0 prevent the upload of files more than +200Kb. So you need to make some changes in the default IIS settings first.

Background
For IIS6.0 users, the AspMaxRequestEntityAllowed property specifies the maximum number of bytes allowed in the entity body of an ASP request. If a Content-Length header is present and specifies an amount of data greater than the value of AspMaxRequestEntityAllowed, IIS returns a 403 error response.

This property is related in function to MaxRequestEntityAllowed, but is specific to ASP request. Whereas you might set the MaxRequestEntityAllowed property to 1 MB at the general World Wide Web Publishing Service (WWW Service) level, you may choose to set AspMaxRequestEntityAllowed to a lower value, if you know that your specific ASP applications handle a smaller amount of data.

Solution
Open your metabase.XML which is located in c:WindowsSystem32Inetsrv find the line “AspMaxRequestEntityAllowed” and change it to “1073741824”. This is 1GB – of course you can enter another value to suite your needs.

NOTE: Before you edit the file, be sure to stop the IIS service first or else you won’t be able to save the file.