如何提升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开发的课程的时候,大家提出的一些问题,及我的解答,分享给更多的朋友参考一下 这个文档,也可以在这里下 ...
随机推荐
- 14.Diameter of Binary Tree(二叉树的直径)
Level: Easy 题目描述: Given a binary tree, you need to compute the length of the diameter of the tree. ...
- springcloud系列三 搭建服务模块
搭建服务模块为了模拟正式开发环境,只是少写了service层直接在controller里面直接引用,直接上图和代码:更为方便: 创建完成之后加入配置: pom.xml文件: <?xml vers ...
- main.obj:-1: error: LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall CustomButton::metaObject(void)const " (?metaObject@CustomButton@@UBEPBUQMetaObject@@XZ)
QTCreator 运行时报错 main.obj:-1: error: LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject cons ...
- winfom实现关闭后一直运行
using PLog; using System; using System.Collections.Generic; using System.Diagnostics; using System.L ...
- Django 06 Django模型基础1(ORM简介、数据库连接配置、模型的创建与映射、数据的增删改查)
Django 06 Django模型基础1(ORM简介.数据库连接配置.模型的创建与映射.数据的增删改查) 一.ORM系统 #django模型映射关系 #模型类-----数据表 #类属性-----表字 ...
- Nand Flash 基础
1. 根据物理结构上的区别,Nand Flash主要分为: SLC(Single Level Cell): 单层式存储 MLC(Multi Level Cell): 多层式存储 TLC(Triple ...
- ymPrompt.js消息提示组件
转载:https://www.cnblogs.com/linzheng/archive/2010/11/15/1878058.html 使用说明: 1.在页面中引入ymPrompt.js.如:< ...
- python解决excel工作薄合并处理
年度了,要对每个月的数据进行总的汇总,去计算每消耗品的使用情况,表格都在一个工作表的不同sheet中,并且格式相同,所以就用python写了这个小脚本,现在把脚本粘贴出来,以后有需要就可以在此基础上改 ...
- Linux学习grep,sed,awk工具的使用
1.grep:根据模式搜索文本并将符合模式的文本显示出来(pattern模式:由文本字符和正则表达式元字符所匹配出来的条件) 注:alias grep='grep --color' -c:打印符合要求 ...
- Linux进程间通信的几种方式
1.管道及有名管道(pipe & named pipe) pipe 用于亲缘关系的进程间通信,named pipe除了pipe的功能外,还可以进行无亲缘关系进程间的通信. 2.信号(Signa ...