提升 SharePoint 页面访问速度之应用池预加载

以前个人一篇文章给你们粗略的讲了一下关于 IIS应用池回收给 SharePoint 带来的访问速度的提高,缓存

详见 http://horse87.blog.51cto.com/2633686/1895153服务器

前几天和几位MVP一块儿又讨论学习了一下关于IIS应用池的回收问题,今天来给你们再铺开来说一讲。app

简单来讲,我么服务器IIS中的应用程序池,能够看作是一个网站的资源边界,当网站要与系统资源发生交互的时候,实际上会经过应用程序池,再由池子去请求系统资源,分配给网站,一个网站所能使用到的系统资源能够经过池子来进行控制。ide

咱们你们能够这样理解,网站自己是静态存在的,可是应用池是动态的。 池子里面包括了:网站所占用的进程,内存虚拟地址,会话状态等,这些内容都是保存在池子里面。经过应用池能够对一个网站进行合理的资源管控。好比,当一个网站的CPU使用达到了某个峰值,内存使用达到了某个峰值,或者到了某个请求数,就把这个应用池进行回收。学习

咱们其实能够稍微屡一下思路,当咱们访问一个网站的时候,其实是去访问了一个IIS的网站集,这个时候IIS会通知这个池子,“如今有人来 访问你了”,而后池子会启动一个W3WP的进程,由这个进程来负责处理用户与网站的交互。在IIS ASP.NET应用程序里面, 应用程序池会要求按期作回收,要作回收的目的,其实就是为了防止一个池子过多的占用系统资源。优化

有时候代码没有写好,长时间不回收池子,是会致使网站进入假死状态的。所以,IIS应用池回收是必定要作的。可是回收了,也意味着以前这个池子缓存的内容,以及内存中的状态,都会被清理掉,应用程序池回收,至关因而给电脑来了一次重启,或者说是重启了IIS。网站

说到电脑重启,你们都知道,重启以后刚启动起来,那个速度也是很慢的,过阵子等系统后台进程都启动起来了,就行了。IIS应用程序池回收也是这个道理。为何有时候第一次访问SharePoint会很慢,及时由于SP所在的IIS池子刚刚通过回收,W3WP进程尚未启动起来,因此第一次访问,会有一个启动W3WP进程的过程,至关于要给SharePoint从新开机一次。blog

SharePoint这个应用程序比较大,有不少个池子,若是按照Technet上的建议,每个SP里面的service application 都建立一个独立的池子,那这个数量可想而知。因此有时候你们早上第一次访问,会很是的慢,就是由于后台正从休眠状态中苏醒过来,初始化W3WP这个进程。进程

从IIS7开始,微软就推出了集中优化的方案,用来解决应用池回收的问题。内存

首先,应用程序池回首以后为何会访问慢,是由于要初始化W3WP这个进程,让它干活,因此默认状况下,一个池子回收以后,若是没人访问,W3WP是不会启动的,除非有人访问它,唤醒池子,才会启动W3WP,以后若是再有人访问,那么速度就要快一些了。

微软为了解决这个问题,推出了应用程序池和网站预加载功能。什么叫预加载呢?简单的来讲,其实就是去感知应用程序池的回收,每当感知到这个池子进行了回收,那么系统会自动启动一个W3WP进程,这样相对于之前来讲,就已经有很大的提升了。

话很少说,直接上图。

打开SharePoint IIS, 选择应用池,选中其中你想配置的一个池,我这里以80主站点为例,右键,高级设置

p_w_picpath

第一步,选择启动模式,为 alwaysrunning

p_w_picpath

第二步,设置IIS网站的预加载,选中主站点,选择右侧的高级设置

p_w_picpath

预加载选项,选为 启用 便可。

p_w_picpath

相关文章
相关标签/搜索