IIS回收问题(假死现象部分解决方法)

作者:佚名 来源:网络 点击数: 发布时间:2012年01月30日
问题描述:如何进行IIS 回收设置
分析原因:网站长时间运行后,速度变慢,重新启动网站后速度明显变快,估计是网站程序占用的内存和CPU资源没能及时释放,才需要每隔一段时间重启网站释放资源。IIS6.0的应用程序从自动回收功能就能解决这一问题。
解决方法:
a.根据运行时间
系统默认是1740分钟,也就是29个小时,这个不是很好控制,建议不用。

b.请求数目
这个要看具体的情况了。如果只有10个请求,可是有5个都在请求那个比较占资源的页面(可能是统计年度报表之类),这个时候就会出现进程当掉的情况,如果请求有1000个可是一个也没运行比较占资源的页面,这个时候进程肯定是很正常的,所以根据请求的数目来决定也不一定符合实际需要。

c.计划的时间
这个其实很好,不过具体什么时间回收好呢?通常我们都是设置在凌晨两三点钟,这个时候回收是有必要的,不过针对出现随时可能出现是高内存占用并不是很适用。

d.内存(虚拟内存或已使用的内存)
这个针对出现内存问题引起的进程当掉实在太合适了,不过设置多大的值比较好是一个很重要的问题,值不能太小了,否则如果访问量都很大超过这个值的时候也会自动回收,这个就很没必要了。一定要多多观察进程的实际占用情况再做决定(例如:服务器内存是2G,通常其他的一些服务会占用掉600多M,发现每次进程都是到1G多的时候网站当掉,所以设置了最大使用内存为1000M的时候自动回收)。

 

IIS的配置文件在windows的安装目录下(C:WINDOWSsystem32inetsrvMetaBase.xml),直接修改配置文件需要停止IIS服务,修改前记得备份。

部分配置信息,

AppPoolAutoStart="TRUE"
PeriodicRestartMemory="XXXX" //最大虚拟内存MB
PeriodicRestartPrivateMemory="XXXX" //最大占用内存MB
PeriodicRestartRequests="XXXX" //请求数
PeriodicRestartSchedule="XXXX //自动回收时间
XXXX

XXXX"
>

 

IIS应用程序池设置请参考:http://tech.powereasy.net/Item/885.aspx