回复: Service Unavailable win2003应用程序池假死解决方法
1.应用程序池的CPU做了限制,这样一来哪个站点总是占CPU过大或一个应用程序池里有几个占用比较大的,都会造成它所在的应用程序池的关闭。
2.有些人的ACCESS数据库都几百M,有几十万条数据,查询时是把所有记录都取出来,非常占用CPU
3.程序设计不合理,不够优化,而网站的访问量又非常大。
处理方法除了上面所说的方法外,本人觉得最重要的还是找出占服务器资源大的站点,一般一台服务器上占CPU大的站点不会超过5个,只要找出这些站点来,基本上别的站点放在一个应用程序池下都不会有什么问题的(当然,除了.net1.1与.net2.0共存的情况)。
这个是说起来容易做起来难,实现方法有两种:
冷处理法与
热处理法。
所谓的
冷处理法是指关掉IIS然后修改IIS的XML配置文件,对所有站点进行应用程序池划分,这个过程最快的方法本人觉得是利用宏实现,这样冷处理的时间也许不到10s,但这种处理方法还不是很好,因为要多次关一会IIS。
所谓的
热处理法就是使用WMI在不关闭IIS的前提下对IIS上的所有站点所在的应用程序池进行调整,找出占资源高的站点,但这个编程能力得比较强,也是本人正在研究的。