如何提升SharePoint 2010的性能
文章来自: http://www.chinaemail.com.cn/server/xtfl/Exchange/201109/66466.html
SharePoint是微软历史上销售量增长最快的产品,其可以存储大量的文件。这意味着应用性能是成功部署SharePoint的一个关键因素。我们在这里列出了能够提高SharePoint服务器性能的十个步骤。
步骤1:分离用户和数据库信息
一个常见的误区是与高速网络连接的服务器有着充足的带宽执行所有需要的操作。但是SharePoint在SQL设置了大量的请求———每个需求一个页面的请求会导致向数据库发送大量的请求,更不要说服务、检索和其它操作了。
为了缓解用户与数据库信息间的冲突,前端服务器和SQL连接应当被分离,让它们分别通过独立的物理网络或虚拟LAN。这需要在每一个前端Web服务器上至少配置两个独立的网络接口卡,通过设置静态路由确保信息被路由至正确的接口卡。相同的设置或许也能够被应用至应用索引服务器。
步骤2:分离检索
一个典型的中型服务器群由一台或多台Web前端服务器、一台专用索引或应用服务器和一台独立的SQL数据库服务器。由索引服务器发起的搜索信息必须由负责传递用户内容的相同服务器处理。为了防止搜索和用户信息冲突,额外的服务器或许应当被添加至服务器群中,这台服务器只用来服务搜索查询(在更小的环境中,索引服务器或许应当具备这一功能)。服务器群管理员应当对搜索服务进行配置以仅在这台专用户服务器上执行收集功能。在搜索操作中,这一配置可能会减少Web前端服务器信息70%。
步骤3:调整SQL参数
一个避免麻烦的便捷方法是在独立的物理磁盘(或是逻辑单元符号)上设置一个大型SharePoint数据库。这意味着有一套搜索数据库磁盘,一套临时数据库磁盘和内容数据库磁盘。还需要对独立的日志文件(*.ldf)进行额外考虑。尽管这些不会此发与其它文件相同级别的I/O,它们在备份和恢复中扮演了一个主要的角色,它们会让主数据库文件大小翻上数倍。
另一个方法是前摄性的管理单个数据库的尺寸和增长。默认状态下,SQL会让数据库文件以很小的规模递增,大约以每次1MB或是以数据库大小的固定百分比为限(通常是10%)。这些设置导致SQL在反复的造成数据库浪费,在数据库增大的同时妨碍了其它数据的写入。一个备选方案是如果空间足够大可以重新将数据库设置为推荐的最大值(100GB),将自动增长设置为一个固定值(如10MB或20MB)
步骤4:整理数据库索引碎片
SQL服务器维持对存储在多个数据库中数据的索引,以改善查询效率和读取操作。就像文件存储在硬盘中一样,这些索引也会碎片化。定期进行维护操作十分重要。由于这种维护属于资源密集性操作,因此在定期执行这类操作时应当特别注意,许多时候,会影响到数据写入或读取。
步骤5:在多内容数据库分散用户数据
大多数SharePoint数据被存储在列表中:任务、通知、文件库、问题、图片库等等。大量的这种数据实际上被存储在与站点集合相联系的内容数据库的单一表单上。这与在SharePoint层内有多少站点和子站点被创建没有关系,每一个站点集合仅与一个内容数据库相联。这意味着一个带有数千个子站点的站点集合存储了大量的用户数据。这些用户数据来自于SQL单一表单上的每一个站点所存储的每一份列表。
由于SQL必须在一个潜在的非常庞大的数据组中递归执行查询,这会导致延时。减少工作负载的一个办法是让站点集合映射至内容数据库。
步骤6:缩小页面尺寸
对于通过LAN与入口相联的SharePoint用户来说,管理内容和寻找资源很容易,但是对于通过低速WAN的远程用户来说,带有大量元素的SharePoint页面是一个性能杀手。
如果你有许多远程用户,你需要启动一个小型母版页,就像字面意思一样,去除不需要的元素,允许设计者启动一个只包含有基本功能的干净的页面。
其次,大多数SharePoint页面都包含了支持文件链接,包括JavaScript、样式表,这些都需要额外的时间进行检索和执行。
步骤7:配置IIS压缩
SharePoint内容由两个主要来源组成———在SharePoint根目录下存储的静态文件(C:\ProgramFiles\CommonFiles\MicrosoftShared2007版为\12和2010版为\14)和存储在内容中的动态数据。在运行时SharePoint从这两个来源中合并页面然后将它们传输至内一个HTTP上以响应请求者。互联网信息服务器(IIS)版本6和7都包含了多种机制可在将页面传输至网络上之前减少HTTP响应的有效负载。调整这些设置能够减少传输给客户的数据大小,缩短载入时间,加快网页渲染。
IIS压缩设置可能通过将基础值0(不压缩)修改为最大值10(充分压缩)。这一设置的调整决定着IIS执行压缩算法的程度。
步骤8:利用缓存
用户请求的多数内容都能够被缓存在内存上,包括表单项目、文件、查询结果等等。站点管理员能够配置他们自己的缓存文件以满足不同的用户需求。比如,匿名用户能够被指定一套缓存策略,授权用户能够被指定另一套策略,与普通读者相比,内容编辑可以浏览最新的内容变化。通过页面类型也可以配置缓存文件,所以公布页面和布局页面表现是不同的,管理员有权选择详细设定服务器和客户端上的缓存策略
步骤9:管理页面定制
SharePointDesigner是一个对管理员和高级用户极为有用的工具,但是页面定制将妨碍总体性能。当进行定制时,整个页面内容,包括标记和内联代码都会被存储在数据库内容,每当页面被请求时都必须被取回。虽然对逐页母板页影响不大,但是在有着数百甚至数千页面时,这种对数据库反复读取将严重影响到性能。
为了防止这一问题,管理员应当执行一个限制页面定制,只有当绝对需要时才可以进行定制的规定。
步骤10:限制导航深度
所有门户网站的一个最重要设计元素是在每个网页的顶部都设置了全局下拉弹出式菜单。这看起来是一个导航的便捷方法,但是这个设计过深,在最初的几级菜单彻底失去之前导航功能已经变得极为混乱了。更为糟糕的是,读取所有的数据以填充导航菜单在分级很深的网站上极为占用资源。
SharePoint设计者可以通过修改母版页内容的导航控制参数来定制每个导航菜单的深度和级别管理员应当将导航深度限制在一个可控级别之内以防止影响性能。
如何提升SharePoint 2010的性能的更多相关文章
- SharePoint 2010 最佳实践学习总结------第1章 SharePoint Foundation开发基础
----前言 这段时间项目出在验收阶段,不是很忙,就潜心把SharePoint学一下,不求有多深刻,初衷只是先入门再说.后续会发布一系列的学习总结.主要学习的书籍为<SharePoint2010 ...
- SharePoint 2010在win7 x64 安装
转:http://kaneboy.blog.51cto.com/1308893/328000 关于<SharePoint 2010应用程序开发指南>,我和杜伟同学正在撰写中,希望下半年早点 ...
- 在 SharePoint 2010 中访问数据
转:http://blog.banysky.net/?p=81001 数据访问的关键方法有哪些? | 使用查询类 | 使用 SPQuery | 使用 SPSiteDataQuery | 使用 LINQ ...
- 在SharePoint 2010中部署RBS (转)
一.RBS(Remote BLOB Storage)简单介绍 在SharePoint的大部分企业应用案例中,SharePoint都是要承担着非常繁重的文件管理工作,这些文件类型包含了Word文档,Ex ...
- 在 Visual Studio 2010 中创建 SharePoint 2010 事件接收器
Microsoft Visual Studio 2010 提供了一个可用于生成事件接收器的项目类型,事件接收器会在 Microsoft SharePoint 2010 网站上选择事件之前或之后执行操作 ...
- 【SharePoint 2010】SharePoint 2010开发方面的课堂中整理有关问题
SharePoint 2010开发方面的课堂中整理有关问题陈希章 ares@xizhang.com1. 对于SharePoint的体系结构不甚清楚,觉得有点乱了解了就不会觉得乱了,请理解1) 场服务 ...
- 在 Windows Vista、Windows 7 和 Windows Server 2008 上设置 SharePoint 2010 开发环境
适用范围: SharePoint Foundation 2010 | SharePoint Server 2010 本文内容 步骤 1:选择和预配置操作系统 步骤 2:安装 SharePoint 20 ...
- SharePoint 2010 技术参数(整理)
今天整理一些 SharePoint 2010 的技术参数,其内容都来自 SharePoint-Sandbox 网站. 有些参数值是硬性的,比如列表单条记录的尺寸:而有些是为了使用和性能考虑的推荐值. ...
- SharePoint 2010开发方面的课堂中整理有关问题
SharePoint 2010开发方面的课堂中整理有关问题 这是我这几天在做一个SharePoint开发的课程的时候,大家提出的一些问题,及我的解答,分享给更多的朋友参考一下 这个文档,也可以在这里下 ...
随机推荐
- 在线作图工具 Flowchart Maker & Online Diagram Software & Visual Solution
9款国内外垂直领域的在线作图工具:那些可以替代Visio的应用!-CSDN.NEThttps://www.csdn.net/article/2015-02-12/2823939 Documentsht ...
- 去除List集合中的重复值(四种好用的方法)
最近项目中需要对list集合中的重复值进行处理,大部分是采用两种方法,一种是用遍历list集合判断后赋给另一个list集合,一种是用赋给set集合再返回给list集合. 但是赋给set集合后,由于se ...
- hdu3483 A Very Simple Problem 非线性递推方程2 矩阵快速幂
题目传送门 题目描述:给出n,x,mod.求s[n]. s[n]=s[n-1]+(x^n)*(n^x)%mod; 思路:这道题是hdu5950的进阶版.大家可以看这篇博客hdu5950题解. 由于n很 ...
- CF628D Magic Numbers (数据大+数位dp)求[a,b]中,偶数位的数字都是d,其余为数字都不是d,且能被m整除的数的个数
题意:求[a,b]中,偶数位的数字都是d,其余为数字都不是d,且能被m整除的数的个数(这里的偶数位是的是从高位往低位数的偶数位).a,b<10^2000,m≤2000,0≤d≤9 a,b< ...
- Html背景图
<table style="height: 210px;" ><tbody><tr><td style="background- ...
- Nginx静态服务,域名解析
安装这里就不写了在LNMP里有具体的安装 1.1 常用来提供静态Web服务的软件有如下三种: Apache:这是中小型Web服务的主流,Web服务器中的老大哥. Nginx:大型网 ...
- Paw —— 比Postman更舒服的API利器
特点: 颜值高本地应用,流畅有收藏夹,管理请求可使用环境变量.比如用来一键切换开发环境请求和线上环境请求.即不同环境的同个接口只有host不一样,其它都是一样的,所以就把host抽离出来弄成一个环境变 ...
- MVC中Cookies的简单读写操作
写入 public static void WriteCookie(string cn, string cv, DateTime Time) { HttpCookie cookie = new Htt ...
- python学习:python文件中空格和换行符的捕获和文本文件的转存
0. 背景 之前公司的项目中,需要在嵌入式系统中实现一个http的网页端内容,由于项目历史遗留问题,公司是采用的将html文件转成c语言头文件的方式,每次修改页面端都需要从新编译一下程序,非常的繁琐. ...
- Yii2 前台控制器访问权限控制
class BaseController extends Controller { public function behaviors() { return [ 'access' => [ 'c ...