IIS应用程序池自动回收问题的有效解决方法

作者:Liaodeity - 2015年10月28日

window iis 在运行一段时间后,发现有卡慢的现象,还有就是访问量有一定的情况下。

在排除mysql链接,和代码问题的情况下,打开html的真静态网页,还是挺快的。

这有可能是因为应用程序池的原因。

iis的应用程序池有回收规则,在一段时间内,会进行自动回收,所以有在回收的过程中,访问量如果有的话,会造成缓慢的情况。可以将【回收】的【固定时间间隔】设置成0,将不再自动回收应用程序池。

方法一:

我们可以手动进行回收处理,但是这个不一定有效。因为其他站点的回收还是会在进行。

方法二:

我们可以设置计划任务来进行回收,在一些访问量少的时间段进行。比如凌晨的时候。我们可以写一个bat的脚本来执行。

这个要通过脚本执行IIS的功能,需要在IIS安装配置的时候,勾选上管理工具中的“IIS管理脚本和工具”。没有安装该工具的同学,可以安装一下。

Recyclepool.vbs 文件内容:
appPoolName = WScript.Arguments(0)
Set oWebAdmin = GetObject("winmgmts:root\WebAdministration")
Set oAppPool = oWebAdmin.Get("ApplicationPool.Name='" + appPoolName + "'")
oAppPool.Recycle
set fso=createobject("scripting.filesystemobject")
if (fso.fileexists("d:\appPool\recycleIISPool.log")) then
   '1-forreading,2-forwriting,8-appending
   set file=fso.opentextfile("d:\appPool\recycleIISPool.log",8,ture)
else
   set file=fso.createtextfile( "d:\appPool\recycleIISPool.log",8,ture)
end if
'write(x)写入x个字符,writeline写入换行,writeblanklines(n)写入N个空行
file.writeline  now&" 应用程序池“"&appPoolName &"”已经回收成功。"
file.close
Recyclepool.bat 文件内容:
cscript D:\appPool\recyclepool.vbs platweb

用vbs脚本及批处理文件,结合任务计划程序,保证在深夜执行IIS回收。

来源于: http://www.tuicool.com/articles/iIV7z2

本文作者: Liaodeity

本文链接: https://www.jianbaizhan.com/article/312

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!


 请勿发布不友善或者负能量的内容。审查将对发布广告等违规信息进行处罚!
Jasmine 8年前

32个赞