提高 SharePoint 页面访问速度之 IIS 应用池回收

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了提高 SharePoint 页面访问速度之 IIS 应用池回收相关的知识,希望对你有一定的参考价值。

相信大家都有这样的体会,我们企业内部的 SharePoint 在使用了一段时间之后,都会有访问速度降低,页面访问速度缓慢的问题,除了服务器硬件瓶颈所导致的原因,

还有一些其他的原因,这些原因从各个层面对SharePoint 造成很多的干扰,今天我们就来说其中的一个,IIS应用池回收。

 

SharePoint 在长期的运行过程当中,服务器内存中会存储很多缓存信息,以帮助下次用户访问时能够快速响应,但是这样的日积月累,也使得内存池承受了很大的压力,

从而形成臃肿的缓存区,那么为了减小服务的负担,IIS应用池回收技术就帮我清除这些臃肿的数据,从而为服务器进行“减重”操作。

BTW:但是大家要千万注意,IIS应用池回收,其实功能相当于重启了IIS,将应用内存清空,并且清除缓存数据,这样的操作是会造成SharePoint 访问闪断,如果此时正好有用户正在进行数据传输,可能会导致数据丢失,所以操作时一定需要小心,并且找好一个比较合理的时间。

IIS应用池回收,系统有一个默认的回收时间,为1740分钟,也就是29个小时,我确实不晓得微软为什么设计这么一个时间周期,但是也没办法,生活还是要继续,回收也还是要继续。

废话不多,直接来吧。

本文以 Windows Server 2012 R2 为例

首先打开SharePoint web服务器上的 IIS, 选择到 Application Pools 应用池,找到我们SharePoint 的发布应用,右击,选择高级设置。

技术分享

在高级设置里面,我们可以看到有一栏名为“回收”,里面包含了关于回收的选项,

我们可以看到默认的回收时间间隔为 1740分钟,即29个小时

注:这里我看过早起的一些博客,都没有提到修改时间这个概念,都说的是通过任务计划脚本来自定义这个时间,但是Win Server 2012 R2这里是可以修改时间的,所以我自己也尝试修改到了 1440分钟(24小时),并选择凌晨来进行回收。

技术分享

点击OK后,我们回到了之前的页面,此时选择 回收 设置

技术分享

在这里我们可以设定具体的执行时间和时间周期。我们可以看到,刚才修改的1440也同样在这里生效了。

技术分享

点击下一步, 勾选需要的回收日志记录选项,确定无误后,点击完成。

技术分享

这样我们的计划IIS应用池回收就设置好了,当然也可以直接点击 “回收” 按钮来手动立即回收内存(相当于重启IIS,web服务会短时间的重启)

技术分享

 

当然了,我也帮大家收集了一个VB脚本的任务计划的方法,设置方便,也可以灵活调整。要通过脚本执行IIS的功能,需要安装 IIS“IIS管理脚本和工具”中的 IIS 脚本工具。

技术分享

然后用vbs脚本及批处理文件,结合任务计划程序,保证在每周六深夜1点执行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

-----------------------------------------------------------------------------------------------------------

接下来就设定windows 任务计划就可以了。

本文出自 “马骏一的奔跑空间” 博客,请务必保留此出处http://horse87.blog.51cto.com/2633686/1895153

以上是关于提高 SharePoint 页面访问速度之 IIS 应用池回收的主要内容,如果未能解决你的问题,请参考以下文章

提高 SharePoint 页面访问速度之“暖场”脚本

提高 SharePoint 页面访问速度之增加W3WP进程数及重置回收

提高 SharePoint 页面访问速度之SQL优化

IIS进程回收后第一次访问慢的问题

如何使用Gzip压缩独立站大幅提高页面加载速度?

sharepoint性能优化