如何提升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开发的课程的时候,大家提出的一些问题,及我的解答,分享给更多的朋友参考一下 这个文档,也可以在这里下 ...
随机推荐
- shell脚本安装jdk
#!/bin/bash BASE_SERVER=192.168.1.11 yum install -y wget wget $BASE_SERVER/soft-all/jdk-7u45-linux-x ...
- springboot整合mybatis,redis,代码(四)
一 说明 这是spring整合redis注解开发的系类: 二 正文 在注解开发时候,会有这几个注解需要注意: 具体含义: 1.@Cacheable 可以标记在方法上,也可以标记在类上.当标记在方法上时 ...
- KindEditor的参考文献
转自:http://www.cnblogs.com/wupeiqi/articles/6307554.html
- sublime中正则替换
匹配 <header></header> , “.” 是匹配任意 非 换行 符号 而 \s\S 匹配任何符号 匹配div class为navbar 的 div <d ...
- Kibana问题记录:yarn test 运行报错 error Trailing spaces not allowed no-trailing-spaces
这个错误就是说,在指定的代码后面有太多无用空格了,你只要把那些空格删掉就行了. 如果你用的是vscode,推荐安装一个ESLint插件,格式话一下你的代码就可以了.
- Margarite and the best present
Little girl Margarita is a big fan of competitive programming. She especially loves problems about a ...
- uva11361 特殊数的数量(数位dp)
题目传送门 题目大意:给你一个n-m的区间,问你这个闭区间内的特殊数有几个,特殊数的要求是 数的本身 和 各位数字之和 mod k 等于0. 思路:刚接触数位dp,看了网上的题解,说用dp[i][j ...
- POJ 3686 *最小费用流-转化成普通指派问题)
题意] 有N个订单和M个机器,给出第i个订单在第j个机器完成的时间Mij,每台机器同一时刻只能处理一个订单,机器必须完整地完成一个订单后才能接着完成下一个订单.问N个订单完成时间的平均值最少为多少. ...
- PHP的魔术常量
PHP的魔术常量(变量).魔术方法(函数).超全局变量 一.魔术常量(魔术变量) 概念:所谓的魔术常量就是PHP预定义的一些常量,这些常量会随着所在的位置而变化. 1.__LINE__ 获取文件中的 ...
- layer 弹出对话框 子父页面相互参数传递
转载:https://blog.csdn.net/flybridy/article/details/78610737