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

之前我的一篇文章给大家粗略的讲了一下关于 IIS应用池回收给 SharePoint 带来的访问速度的提升,

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

前几天和几位MVP一起又讨论学习了一下关于IIS应用池的回收问题,今天来给大家再铺开来讲一讲。

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

我们大家可以这样理解,网站本身是静态存在的,但是应用池是动态的。 池子里面包括了:网站所占用的进程,内存虚拟地址,会话状态等,这些内容都是保存在池子里面。通过应用池可以对一个网站进行合理的资源管控。比如,当一个网站的CPU使用达到了某个峰值,内存使用达到了某个峰值,或者到了某个请求数,就把这个应用池进行回收。

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

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

说到电脑重启,大家都知道,重启之后刚启动起来,那个速度也是很慢的,过阵子等系统后台进程都启动起来了,就好了。IIS应用程序池回收也是这个道理。为什么有时候第一次访问SharePoint会很慢,及时因为SP所在的IIS池子刚刚经过回收,W3WP进程还没有启动起来,所以第一次访问,会有一个启动W3WP进程的过程,相当于要给SharePoint重新开机一次。

SharePoint这个应用程序比较大,有很多个池子,如果按照Technet上的建议,每一个SP里面的service application 都创建一个独立的池子,那这个数量可想而知。所以有时候大家早上第一次访问,会非常的慢,就是因为后台正从休眠状态中苏醒过来,初始化W3WP这个进程。

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

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

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

话不多说,直接上图。

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

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

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

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

时间: 2024-08-14 17:46:45

提高 SharePoint 页面访问速度之应用池预加载的相关文章

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

相信大家都有这样的体会,我们企业内部的 SharePoint 在使用了一段时间之后,都会有访问速度降低,页面访问速度缓慢的问题,除了服务器硬件瓶颈所导致的原因, 还有一些其他的原因,这些原因从各个层面对SharePoint 造成很多的干扰,今天我们就来说其中的一个,IIS应用池回收. SharePoint 在长期的运行过程当中,服务器内存中会存储很多缓存信息,以帮助下次用户访问时能够快速响应,但是这样的日积月累,也使得内存池承受了很大的压力, 从而形成臃肿的缓存区,那么为了减小服务的负担,IIS

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

上一篇文章我们讲到了关于如果采用IIS应用池回收技术来提高SharePoint的页面访问速度,今天来给大家讲一个SharePoint圈儿内"著名"的暖场脚本(Warm-up-script). 所谓暖场脚本,顾名思义,就是在一切正式的表演之前,先来给大家暖暖场,不至于使得大家感觉到尴尬和不自在.同理,其实就是帮助SharePoint实现访问提速,不至于访问卡顿和缓慢. 不知道大家有没有这样的感受,每天早上来上班,会发现第一次打开SharePoint的速度很慢,之后会好很多,这是什么原因呢

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

上一篇文章中我们提到了IIS应用池的预加载功能,今天来讲一下W3WP的进程数优化. 上文中我们提到了W3WP这个进程,这个进程其实就是用户在访问SharePoint时候的一个服务进程载体,我们可以把用户访问一个网站的过程,想象成一个顾客到酒店办理入住的过程,IIS应用程序池有个最大的连接数,默认是1000,就是说一个池子里面最多可以接受1000个用户来连接,第1001个访问网站的人将提示无法访问.还有一个是队列长度,默认情况下,一个用户访问网站,会由一个W3WP进程来和他交互,W3WP进程你可以

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

前面两篇文章我们和大家一起讨论到了SharePoint IIS的应用池回收,W3WP进程数和重置回收等方面的优化,今天来和大家讲讲后端SQL服务器的优化. 对于SQL的优化,今天主要介绍的就是两点,CPU的优化和内存的优化. 很多同学在装好SQL之后,其实并没有对内存优化进行设置,导致SQL的内存分配很不合理,针对于SharePoint,建议设置SQL的使用内存最少为 8192 MB,最多为 20480 MB 这个临界值. 如上设置,注意,这里的配置值和运行值一定要配置两次,并且要保证其一直,否

通过页面预加载(preload)提升小程序的响应速度

GitHub: https://github.com/WozHuang/mp-extend 主要目标 如果小程序在打开新页面时需要通过网络请求从接口中获取所用的数据,在请求完成之前页面都会因为没有数据而呈现一片空白,解决这个问题常见的解决方案有: 先使用从缓存中取出上一次的数据,等到请求结束后再使用请求得到的数据(这个对于变动不大的数据是完全可行的,但是对于变动大或者以内容为主的功能并不合适) 在加载时显示骨架屏(知乎和饿了么的移动端有的地方是这么做的) 前一个页面预加载下一个页面的数据,达到秒

HTML5移动开发之路(51)——jquerymobile中改善页面访问速度

本文为 兄弟连IT教育 机构官方 HTML5培训 教程,主要介绍:HTML5移动开发之路(51)--jquerymobile中改善页面访问速度 在使用jQuery Mobile进行开发的时候可以选择单页模版和多页模版,在使用单页模版的时候从一个页面跳转到另一个页面的时候需要从服务器请求,用户会感到略有停顿.使用多页模版,可以改善页面跳转之间的流畅性,但是多个页面要一次性下载,所以下载时间变长,用户体验也会受到影响. 在基于预取技术的开发中,当第一个页面的DOM对象加载完成后,jQuery Mob

小强的HTML5移动开发之路(51)——jquerymobile中改善页面访问速度

在使用jQuery Mobile进行开发的时候可以选择单页模版和多页模版,在使用单页模版的时候从一个页面跳转到另一个页面的时候需要从服务器请求,用户会感到略有停顿.使用多页模版,可以改善页面跳转之间的流畅性,但是多个页面要一次性下载,所以下载时间变长,用户体验也会受到影响. 在基于预取技术的开发中,当第一个页面的DOM对象加载完成后,jQuery Mobile会对标记data-prefetch的链接地址进行预取操作.预取的详细过程如下: 注意:使用预取功能时,不建议给所有链接都添加data-pr

jquery实现图片预加载提高页面加载速度

使用jquery实现图片预加载提高页面加载速度和用户体 我们在做网站的时候经常会遇到这样的问题:一个页面有大量的图片导致页面加载速度缓慢,经常会出现一个白页用户体验很不好.那么如何解决这个问题 呢?首先我们会想到的是提高服务器性能,使用静态缓存等手段来加快图片的加载速度,这的确是个好方法,不过有时候我们也可以从前台找一些解决的 方法.下面我来介绍一种在实际应用中经常会使用到的js预加载的方法. 首先在输出图片的时候我们做一些处理 处理完html我们开始写js了,在这里我使用了jquery的类库

提高google网站访问速度

修改:C:\Windows\System32\drivers\etc\hosts文件 # google websites.203.208.46.180 ssl.gstatic.com203.208.46.180 oauth.googleusercontent.com203.208.46.180 r3085-dot-latest-dot-project-slingshot-gp.appspot.com203.208.46.180 newsfeed-dot-latest-dot-rovio-ad-e