IIS应用程序池自动回收问题的有效解决方法
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回收。
本文作者: Liaodeity
本文链接: https://www.jianbaizhan.com/article/312
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!
32个赞