在 SharePoint 提高 SharePoint 性能

Pav Cherny

内容

性能条件
性能相互依赖关系
解决性能问题
疑难解答工具
常量监视

在一个理想您会考虑 SharePoint 性能优化在计划并与设计阶段充分地调整大小和构建服务器,支持团队和基础结构。 但在现实世界中, 您将有预测用户采用率的问题。 预算可能剪切或 downsized 人员。 您可以继承差的 SharePoint 环境。 即使您在第一个满足性能期望值,增长的文档、 组、 列表,和站点的基础结构可能会增加页面加载时间并减少满意度。

您将在您的工作以优化性能 SharePoint 面临最大挑战之一将被导航基础的 IIS、.NET,和 SQL Server 技术提供规划和设计各个阶段期间,以及在实际操作中的多个配置选项。 选项的全部数是令人生畏不必说尝试确定哪个选项最适合您的需要的。 渚嬪的方式  SQL Server 房屋的 SharePoint 配置数据和内容,绝大多数,但在搜索、 内容、 配置,临时数据库有很大的不同的读写模式需要适当的磁盘吞吐量和 RAM 的。 若要使变得复杂图片,您也可以使用缓存在 IIS 中或卸载到前端服务器,以便帮助索引增加磁盘吞吐量。

第二个挑战围绕确定根的性能问题的原因。 SharePoint 依赖于核心 SQL、 IIS 和.NET 组件不仅相关性 (如 Active Directory、 网络、 SharePoint 的体系结构和物理服务器硬件上。 这意味着一个性能问题可能有多个根导致,,并且同样需要多个更改问题的解决方法。 操作作业、 操作备份例程和第三方工具向性能问题更可能的根本原因。

在本专栏中,我提供密钥 SharePoint 体系结构组件的概述,介绍如何它们可能会导致常见的性能问题,并讨论如何解决和解决问题。

性能条件

IIS SQL Server 设计、 配置的选项和之间对性能影响进入关系之前,让我们来建立性能优化的目标。 简单地说是改进的用户和管理员体验方面的关键指示器,如页面加载时间、 搜索,和爬网。 如果页面不加载快速为您的用户,然后您的工作以通过消除 SQL Server 数据库的 10 个往返行程中优化性能无关紧要。

在考虑会速度出现一个页的用户时, 一定要考虑初始和后续的加载时间。 您可能需要在其中用户一次加载一页但实例,SharePoint 使用通常,包括重复访问许多网站和文档库的人。 这是为什么侧重于所有页请求是非常重要,产生减少的加载时间的机会。 请记住由于浏览器缓存的第一次页加载呈现时间将不同的后续页加载。

性能相互依赖关系

在 2008 年 5 月专栏," 构建您的 SharePoint 基础结构",我介绍 SharePoint 体系结构并解释在基本级别 IIS、 SQL Server 和.NET 如何协同工作来呈现请求的页。 现在让我们来考虑如何配置以满足性能需要在核心技术。 图 1 显示了与优化选项相关的关键组件。

fig01.gif

图 1 影响性能的 SharePoint 体系结构组件

资源

bluebullet.gif go.microsoft.com/fwlink/?LinkId=69752
bluebullet.gif SharePoint 产品和技术网站
microsoft.com/sharepoint
bluebullet.gif Windows SharePoint Services 技术中心
technet.microsoft.com/windowsserver/sharepoint
bluebullet.gif Windows SharePoint Services 开发中心
msdn2.microsoft.com/sharepoint
bluebullet.gif Microsoft SharePoint 产品和技术团队博客
blogs.msdn.com/sharepoint

在将基本的请求方案 ASP.NET 页分析器在它的身份验证并呈现到浏览器结果后服务传入的请求。 基本内容包括从文件系统和 SQL Server 内容数据库列表项目、 以及二进制大对象 (BLOB)、 图形,文本的数据。 即使提交到网络日志或新闻的几个 Web 部件页需要验证的适当的权限将在 ASP.NET 页和到该 SQL Server 读取和写入要 temp,事务日志,内容数据库的多个行程编译页分析器的内容。

在此过程中的任何位置,可能发生性能问题。 渚嬪的方式  如果页面包含诸如图像的许多小项目,并且您的环境中使用 Windows NT LAN 管理器和远程域控制器 (DC),然后完全加载此页面将缓慢因为 HTTP GET 请求需要一个往返行程到 DC。 在 Windows NT LAN Manager 身份验证体系结构是约束的、 不是 IIS 或 SQL Server 操作。 同样,用户可能请求页面有上千个列表项或导入多个项目从电子表格列表,影响访问驻留在相同的 SQL Server 上的网站的所有其他用户在加载时间。

操作的任务和后台进程,如不是资源密集型的夜间备份也可能会影响性能。 运行 24 小时每一天的全局环境中,每晚备份可能会导致为业务用户的问题。 后台任务影响性能,因为它们损害的系统资源。 例如,计时器计划的作业数据库娓呴櫎浠诲姟而,尤其,索引和爬网过程使用大量的磁盘 I/O,CPU,并在前端和后端服务器上的 RAM。

解决性能问题

无论框架,用于在尝试了解您的 SharePoint 性能问题、 找出其根原因和解决问题的方法中,您需要反映对其进行比较反映较差的性能数据的可接受性能的基准数据。 可以在初始部署,期间的性能可接受或最佳做法建议从之后或者向右获取比较基准数据集的性能。 如果您有没有基础比较,然后可以使用 Microsoft 发布的各种度量在 technet.micro-soft.com/en-us/library/cc262787.aspx 性能建议。

如我已提到最常见的性能问题会发生情况的相关的组件。 这很麻烦,因为基础标记通常是相同。 例如,性能问题的一个常见的指示符是在资源利用情况如 RAM、 CPU 或磁盘 I/O 达到高峰。 若要解决性能问题,您需要查看所有可用的数据、 了解导致该问题,事件的顺序和关联事件以确定根本原因。 图 2 显示了常见性能问题、 可能的根源和分辨率选项。

图 2 问题,原因和解决方法摘要
闂   可能的根本原因 可能的解决方法 其他资源
高磁盘 I/O 活动 SQL Server 上 大型列表操作、 计时器作业、 SQL 维护任务,备份编制索引不足内存,如临时日志、 搜索,和内容,高 I/O 数据库置于同一磁盘或缓慢的磁盘。 高 I/O 磁盘卷上分隔多个文件中的临时和搜索数据库、 增加内存、 专用的磁盘用于事务日志、 进行碎片整理,和每周重新索引的数据库。 technet.microsoft.com/en-us/library/cc678870.aspx
msdn.microsoft.com/en-us/library/ms175527.aspx
technet.microsoft.com/en-us/library/cc263261.aspx
(TechNet.10) technet.microsoft.com/en-us/library/cc262067.aspx
阻止/锁定 SQL NIC 配置,索引/爬网的作业的大型列表操作。 不要使用 SharePoint 工作组服务管理 (STSADM)。 SQL 备份、 DPM、 Litespeed,或 SQL 2008 使用压缩,确保填充因子设置为内容数据库的 70%,强制 100 GB 增长限制。 technet.microsoft.com/en-us/library/cc901593.aspx
go.microsoft.com/fwlink/?LinkID=105623&clcid=0x409
support.microsoft.com/kb/271509
support.microsoft.com/kb/298475
慢速网页加载的总体 未启用压缩。 缓存未启用或者没有配置。 较大的页。 冗余的 SQL 行程,基础网络问题。 启用缓存和压缩、 检查页面加载的时间并检查 SQL 查询和往返行程,检查 NIC Broadcom 5708 烟囱问题。 technet.microsoft.com/en-us/library/cc298550.aspx
support.microsoft.com/kb/942861
长时间才能加载整个页面 不正确的 SharePoint 对象处理速度慢的自定义代码中链接 SQL 阻止,计时器的作业 Web 部件缓存不启用。 解决后端的带宽和响应的问题、 正确释放对象的、 使用 64 位硬件或配置内存池限制,下载 core.js 的延迟。 code.msdn.microsoft.com/SPDisposeCheck
technet.microsoft.com/en-us/library/cc298550.aspx
technet.microsoft.com/en-us/library/cc678870.aspx
technet.microsoft.com/en-us/library/cc298466.aspx
性能较差的列表 大型列表 > 2,000–3,2000 级别中的项目。 在列表上没有索引。 基础 SQL Server 问题。 列太多。 一个或多个列上的索引、 确保 SQL Server 性能、 保持少于 2,000–3,2000 级别中的项目。 go.microsoft.com/fwlink/?LinkID=105580&clcid=0x409
爬网和索引时间过长或索引导致 sluggishness 大型数据卷需要没有专用的索引的目标的索引很长时间。 阻止与 robots.txt,卸载到专用的前端服务器进行爬网/索引。 technet.microsoft.com/en-us/library/cc261810.aspx
导致使用峰值的 LDAP 操作 (如身份验证和用户操作) 低带宽、 远程域控制器、 较大的配置文件导入。 增加带宽使用 Kerberos、 优化配置文件导入。 support.microsoft.com/kb/827754
备份的时间太长 使用 STSADM,如阻塞其他 SQL 条件。 Microsoft 数据保护管理器 (DPM) 或 SQL 2008 使用压缩。 technet.microsoft.com/en-us/library/cc901593.aspx
内存不足的 IIS 应用程序池和辅助处理回收、 不正确的对象没有足够的 RAM、 较差的负载平衡体系结构中处理。 使用 IIS 重叠回收,则使用 64 位硬件。 (VS.71) msdn.microsoft.com/en-us/library/aa720391.aspx
technet.microsoft.com/en-us/library/cc737679.aspx

为您缩小导致性能问题的可能原因,保留在考虑常规操作最佳做法,如在 IT 展示白皮书所述的" SharePoint 性能优化." 应用最新的修补程序、 Service Pack 和更新的 SQL Server,IIS、 SharePoint,和 Windows 服务器是尤其重要。 Microsoft 已修复 tempdb 分配争用 (请参见等的许多以前性能问题 tempdb 数据库的并发增强功能) 和 TokenAndPermUserStore 缓存 (请参见 查询需要较长时间才能完成运行时 TokenAndPermUserStore 缓存的大小增长 SQL Server 2005 中).

疑难解答工具

您可以依赖于各种深入到 SharePoint 性能问题的具体情况和收集证据,将帮助您进行了诊断、 确定在根原因和解决该问题的工具。

下列工具很中指出的性能问题的原因非常有用:

  • fiddler PowerToy 和 neXpert 加载项 一起使用这些工具提供页面加载分析实心起始点。 它们允许您查看缓存、 压缩,和 HTTP 的总体性能。 您可以获得有关在这些工具的详细信息 fiddler PowerToy-第 2 部分: HTTP 性能Microsoft neXpert 性能分析插件.
  • WireShark 如果需要查找到缃戠粶闂  ,使用 WireShark。 它适用于很多的媒体并重新创建问题时可以捕获数据包重新创建 TCP/IP 对话中。 有关详细信息,请参阅 wireshark.org。
  • 视觉往返分析器 (VRTA) 可以使用 VRTA 检查往返性能从请求的响应。 标识过多的往返行程的原因,并建议解决方案,VRTA 将检查所的通信协议。 您可以从 Microsoft 的下载下载 可视的往返行程分析器.
  • SQL 事件探查器 您可以使用 SQL Server,监视 SQL Server 数据库引擎或 SQL Server Analysis Services 的实例安装此有用工具。 它使您将发现与查询、 死锁、 超时、 重新编译,和常规错误和异常的问题。
  • SQLDiag 此外安装 SQL Server,此工具收集有关配置的计算机运行 SQL Server、 鎿嶄綔绯荤粺和报告 SQL Server 错误日志的信息的有价值信息。
  • SQL 查询分析器 这是一个低级调试工具用于分析的查询性能问题。 它也是 SQL Server 工具集的一部分。
  • SPtraceview 这是我最喜欢的工具之一,因为它提供实时的性能问题的视图中。 很监视诊断跟踪,当使用自定义 Web 部件时很有用。 有关详细信息,请参阅 SPTraceView – 轻型工具用于监视 SharePoint 诊断记录的实时.
  • WSSDW.exe 这是一种性能测试的工具,填充的测试部署 Office SharePoint Server 2007 的数据。 请参阅 性能和容量规划 (Office SharePoint 服务器) 的工具SharePoint 2007 测试数据填充工具有关详细信息。
  • 基于客户端的 URL ping 的自定义工具 这是一种最有用的工具,因为前和实施对环境的配置更改后,它使统计信息的比较结果中。 在请参阅附录, SharePoint 性能优化在页。

常量监视

SharePoint 的性能优化,像大多数事情 SharePoint,很复杂。 您需要了解该对象模型,了的 SharePoint 体系结构和 IIS/.NET SQL Server 之间交互的详细信息。 您还需要知道数据库管理和疑难解答的最佳做法。 好消息是,如果您没有此了解,您仍然可以执行也在优化您的 SharePoint 基础结构通过以下建立的最佳做法,建议,知识,并解决常见的问题所指出的此处。

Pav Cherny 是 IT 专家和特殊化的协作和统一的通信的 Microsoft 技术的作者。 他的出版物包括白皮书、 产品手册和书籍主要介绍 IT 运营和系统管理。 Biblioso 公司的专门的文档和本地化的托管服务公司总裁 Pav。