SharePoint Diagnostic Studio 2010 (SPDiag 3.0) (SharePoint Server 2010)

 

适用于: SharePoint Server 2010

上一次修改主题: 2011-07-29

Microsoft SharePoint Diagnostic Studio 2010(SPDiag 3.0 版)已发布,旨在简化和标准化对 Microsoft SharePoint 2010 产品进行的疑难解答,并提供收集到的数据的统一视图。SharePoint 2010 产品的管理员可以使用 SPDiag 3.0 来收集服务器场中的相关信息、有效显示结果、标识性能问题以及共享或导出收集到的数据和报表以供 Microsoft 支持人员分析。

SharePoint 2010 产品平台极为复杂,并可用于各种用途。若要部署、管理 SharePoint 2010 产品并对其进行疑难解答,需要掌握跨多个技术领域的大量知识,包括安全性、网络、Web 技术(如 ASPX 和 Microsoft SQL Server)。

传统意义上,对 SharePoint 2010 产品进行疑难解答涉及了手动收集受影响的服务器场的服务器中的大量数据,然后手动分析数据以确定问题根源。此过程不仅复杂而且相当耗时,并且数据收集本身会对服务器产生大量负载。

SPDiag 提供了一个用于在一系列预配置的报表(这些报表包含各种数据点,通常用于诊断与 SharePoint 性能和容量相关的问题)中收集和显示数据的界面,从而大大简化了疑难解答过程。虽然 SPDiag 提供了大多数常见疑难解答方案,但有一些 SharePoint 问题可能需要分析并非由 SPDiag 收集的其他数据。

本文内容:

  • SPDiag 3.0 的新增功能

  • 安装和配置 SPDiag 3.0

  • 使用 SPDiag 3.0

  • 已知问题

SPDiag 3.0 的新增功能

SharePoint Diagnostic Studio 2010(SPDiag 3.0 版)包含多个重要更新和新功能,这些更新和功能提高了其作为疑难解答工具的有效性。SPDiag 3.0 是一个新版本,它可能不包含早期版本的 SPDiag 中提供的某些功能。

下表列出了 SPDiag 3.0 的新增功能和更改:

  • 预配置的报表   SPDiag 提供了一组预配置的报表,它们将 SharePoint 场目前有用的视图中的数据聚合到常见的 SharePoint 疑难解答方案中。有关详细信息,请参阅本文后面的使用预配置的报表。

  • 快照   可以为服务器场拍摄快照,快照聚合了报表图像、服务器场拓扑结构信息、统一日志记录服务 (ULS) 日志和使用率数据库数据。这样一来,便能轻松整合有关 SharePoint 场的关键疑难解答信息,并与其他用户共享此信息或保留此信息以供比较和趋势分析。

  • 改进的与 SharePoint Server 的集成   来自多个源的增强的数据收集。

安装和配置 SPDiag 3.0

SPDiag 包含在 Microsoft SharePoint 2010 Administration Toolkit v2 中。若要下载此工具包,请参阅 SharePoint 2010 Administration Toolkit (SharePoint Server 2010)

可以将 SPDiag 安装在场服务器上或不属于服务器场的远程计算机上。您必须使用具有服务器场管理权限的用户帐户登录以创建新项目或访问现有项目。

一些 SPDiag 3.0 诊断作业需要已在 SharePoint 2010 产品数据库所在的 SQL Server 实例上分配 sysadmin 角色或 sqladmin 角色的服务器场帐户。

若要安装 SPDiag 3.0,请从 SharePoint 2010 Administration Toolkit v2 组件安装菜单中选择“SharePoint Diagnostic Studio”。然后,使用以下过程配置客户端计算机和 SharePoint Server 服务器场以用于 SPDiag。

配置客户端计算机和 SharePoint Server 服务器场以用于 SPDiag

  1. 在要安装 SPDiag 的计算机上,安装 .NET Framework 3.5。

  2. (可选)在所有场服务器上安装最新的 SharePoint Server 2010 Service Pack 或累积更新 (CU),以确保已安装最新的性能升级。特别是,2010 年 8 月 SharePoint Server 2010 CU 包含使用率数据库更新,这些更新可能会大大提高某些 SPDiag 报表的性能。

  3. 在要安装 SPDiag 的计算机上,安装 Microsoft .NET Framework 3.5 的 Microsoft 图表控件。

  4. 如果要在远程客户端计算机上安装 SPDiag,则必须在 SPDiag 将连接到的场服务器 上启用 Windows PowerShell 远程处理和 remotesigned 执行策略。

    重要

    必须在 SPDiag 将连接到的场服务器 上启用 remotesigned 执行策略,即使要在场服务器上安装 SPDiag 也是如此。

    在目标服务器上的 Windows PowerShell 中,运行以下 cmdlet,并在系统提示时输入 Yes:

    1. Enable-PSRemoting -force

    2. Enable-WSManCredSSP -role Server -force

    3. Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 1000

    4. Set-ExecutionPolicy RemoteSigned

  5. 如果要在远程客户端计算机上安装 SPDiag,请在客户端计算机 上启用 Windows PowerShell 远程处理。在客户端计算机上的 Windows PowerShell 中,运行以下 cmdlet,并在系统提示时输入 Yes:

    1. Enable-PSRemoting -force

    2. Enable-WSManCredSSP -role Client -DelegateComputer “<target_computer>” -force

      备注

      <target_computer> 的值应是要连接到的 SharePoint Server Web 服务器的主机名。

  6. 确保已在目标服务器上配置“Usage and Health Data Collection”。SPDiag 诊断提供程序会收集使用率数据库中的数据。如果在使用 SPDiag 之前未设置使用率数据库,则将看到“未设置使用率数据库。请先设置它。”错误。

有关如何配置 Usage and Health Data Collection 的信息,请参阅配置使用率和运行状况数据集 (SharePoint Server 2010)

使用 SPDiag 3.0

SPDiag 3.0 是一类诊断工具,用于收集、筛选和显示 SharePoint 场中的数据以进行疑难解答。SPDiag 是只读工具,无法对服务器场进行任何更改。您可使用 SPDiag 来帮助自己发现问题,也可以将其用来收集支持人员所需的数据以帮助对服务器场进行疑难解答。

本节中的信息将帮助您了解如何创建并导入项目、筛选并收集数据、生成图形和报表以及将数据导出到文件中。

SPDiag 收集并聚合来自 ULS 日志、Windows 事件日志、性能计数器、SharePoint 日志和 SQL 数据库的数据,然后在各种预配置的报表中显示此数据,这些报表旨在公开特定的容量和性能特征及趋势。

本节内容:

  • 使用项目

  • SPDiag 用户界面

  • 使用预配置的报表

使用项目

SPDiag 项目包含来自 SharePoint Server 的数据的集合、Internet Information Services (IIS)、ULS 和事件日志以及来自场服务器的性能计数器日志数据。项目元数据存储在本地计算机上的 .ttfarm 文件中。可将项目无限期保存,并且可通过多种方式导出项目中的数据以进行存档或与其他人共享。

创建新项目

您必须先创建新项目,然后才能开始使用 SPDiag 对服务器场进行疑难解答。在创建项目时,会在安装了 SPDiag 的计算机上创建一个 .ttfarm 文件,并会在服务器场的使用率数据库中创建多个表。

创建新项目

  1. 在 SPDiag 应用程序窗口中,单击“新建项目”。

  2. 在“创建项目”对话框中,键入要连接到的服务器的主机名,然后单击“创建项目”。

    提示

    在某些环境中,如果您未使用目标服务器的 FQDN,则连接可能会失败。

  3. 在“Windows PowerShell 凭据请求”窗口中,键入对目标 SharePoint Server 服务器场具有服务器场管理员权限的用户帐户及相应密码,然后单击“确定”。

  4. 创建新项目后,主 SPDiag 窗口中将出现概述窗口。

打开项目

若要打开项目,您必须可以访问项目的 .ttfarm 文件。如果已在另一台运行 SPDiag 的计算机上创建该 .ttfarm 文件,则应确保已按照本文前面的安装和配置 SPDiag 3.0 中的指导正确配置了要用于打开项目的计算机。

此外,您还必须登录到一个具有服务器场管理员凭据的帐户,或在系统提示时输入该帐户。

打开项目

  1. 在 SPDiag 应用程序窗口中,单击“打开项目”。

  2. 在“打开”对话框中,浏览找到所需的 .ttfarm 文件,选择该文件并单击“打开”。

SPDiag 用户界面

SPDiag 应用程序划分为四大部分:菜单栏、“指南”窗格、“报表”窗格和“报表显示”窗格,本节对各部分进行了介绍。

菜单栏

菜单栏显示在应用程序窗口的顶部。

菜单栏

  • 新建项目   创建新的 SPDiag 项目。

  • 打开项目   从 .ttfarm 文件打开现有 SPDiag 项目。

  • 拍摄快照   拍摄服务器场的快照,其中包含所有打开的报表的 PNG 图像、包含有关服务器场拓扑结构的信息的文本文档和快照过程中产生的日志文件。有两种类型的可用快照:轻量快照和完全快照。

    • 轻量快照   导出当前打开的报表和服务器场拓扑结构信息

    • 完整快照   所有轻量快照数据以及指定时间范围内 ULS 日志和 SharePoint 使用率数据库中的数据。选择“完整快照”后,可以使用“开始时间”字段和“结束时间”字段来指定 ULS 日志和使用率数据库数据收集的时间范围。

  • 搜索   如果您要查找某个特定请求,并且您知道发出请求的相关 ID 或用户帐户,请单击此按钮打开“搜索”对话框。在“搜索”对话框中,可以输入相关 ID、用户帐户和估计的请求的日期和时间,这将从该时间点开始搜索。

  • 分配权限   可以为特定的用户帐户或组设置 SharePoint 场权限以便能访问 SPDiag。

“指南”窗格

“指南”窗格显示在应用程序窗口中间偏左的位置。它显示有关每个报表的信息,其中包括对显示的数据的描述、有关如何操作和筛选数据的说明以及特定于报表(如果可用)的疑难解答指南。一些报表包含有关如何确定问题的指南,并提供有关如何解决问题的建议。

“报表”窗格

“报表”窗格显示在应用程序窗口的左下角。

报告窗格

“报表”窗格是一个可展开菜单,其中包含可查看的所有报表。单击每个节点可展开相应的部分并显示包含的报表,双击一个报表可在“报表显示”窗格中打开该报表。

在使用报表工具栏上的“保存”按钮来保存一个报表时,该报表将显示在“报表”窗格底部的“自定义”节点中。

有关详细信息以及可用报表的完整列表,请参阅本文后面的使用预配置的报表。

“报表显示”窗格

“报表显示”窗格包含应用程序窗口的主要部分。创建或打开项目时,将显示概述报表。

报告显示窗格

在概述报表中,以下两个主要报表会显示为图形:可用性报表和延迟百分点值报表。

  • 可用性报表   绘制 HTTP Web 服务的可用性的图表。

  • 延迟百分点值报表   指示呈现最快的最常见请求所需的时间。

与 SPDiag 中的所有图形一样,您可以使用鼠标选定图形上的区域来放大特定的时间范围。在概述报表中执行此操作会在主 SPDiag 窗口的新选项卡中打开选定报表,其中包含选定区域中的结果。

在“报表”窗格中双击报表以将其打开时,SPDiag 会收集来自场服务器的所需数据,并在主窗口的新选项卡中显示这些数据。显示内容包括三个组件:报表工具栏、“筛选”窗格和“数据显示”窗格。

报表工具栏

报表工具栏显示在每个打开的报表选项卡的顶部。

报告工具栏

此工具栏提供了用于操作报表数据的工具,包括用于刷新、保存、导出和更改报表的显示时间刻度的工具。

  • 刷新   请求刷新场服务器中的数据。

  • 保存   将当前报表保存到文件扩展名为 SPR 的 XML 文件中。文件将保存到 SPDiag 客户端计算机上的 C:\Users\Administrator\Documents\SharePoint Diagnostic Studio\Custom Reports 文件夹中。可在任何 XML 或文本编辑器中打开这些文件。

  • 小时   校准前 1 个小时的数据显示。此按钮和其他三个时间校准按钮会自动将范围的结束时间设置为当前时间。

  • 6 小时   校准前 6 个小时的数据显示。

  • 12 小时   校准前 12 个小时的数据显示。

  •    校准前 24 个小时的数据显示。

  • 打开日志   如果报表中包含来自日志文件的数据,则可从“筛选”窗格中选择日志,然后单击“打开日志”按钮以显示原始日志文件的内容。

  • 导出   将当前报表导出到 SPDiag 客户端计算机上的 C:\Users\Administrator\Documents\SharePoint Diagnostic Studio\Exported Reports\<date and time> 文件夹中的 PNG 图像文件中。最终文件夹的名称是根据导出报表的日期和时间(24 小时制)以 year.month.day-hour.minute.second 格式生成的。例如,2011 年 3 月 31 日下午 6 点 11 分 22 秒导出的报表将保存到名为 2011.3.31-18.11.22 的文件夹中。

“筛选”窗格

“筛选”窗格提供特定于报表的字段,可以利用这些字段筛选要显示的报表数据以及日期和时间范围。单击字段可更改其值并更新报表数据。

筛选窗格

“数据显示”窗格

“数据显示”窗格显示要显示的报表的图形、图表、表和日志文件数据。

数据显示窗格

在一些报表中,该窗格的上半部分中有一个包含对象列表的表,并且底部有一个单独的窗格,其中显示有关您从表中选择的对象的详细信息。例如,在“计时器作业”报表中,计时器作业的列表显示在“数据显示”窗格的上半部分中。从该列表中选择一个计时器作业会在窗格的下半部分中显示有关此作业的详细 ULS 跟踪日志信息。

双显示窗格

还可以右键单击字段,使用 QuickFilter 功能按该值筛选报表。若要更新报表,请右键单击字段,然后从“QuickFilter”菜单中选择功能。

快速筛选菜单

  • =   按精确值筛选。

  • <>   按选定范围内的所有值筛选。

  • >   按大于选定值的所有值筛选。

  • <   按小于选定值的所有值筛选。

当报表中某个特定记录的数据指示存在问题时,该记录的开头将出现一个带感叹号的红色圆圈。在将鼠标指针悬停在红色圆圈的上方时,会显示一个包含有关问题的信息的工具提示。

错误工具提示

当报表包含图形显示元素(如图表或图形)时,可使用鼠标放大特定时间范围来选择图形的区域。若要缩小原始时间范围,请右键单击图形上的任意位置。

备注

数据收集可能需要很长时间,尤其是在 SPDiag 客户端计算机与场服务器之间存在显著的网络延迟时,或在服务器场的负载过重的时段内。收集数据并呈现报表的过程一旦开始便无法取消,并且在此过程完成之前,SPDiag 不进行任何响应。

使用预配置的报表

SPDiag 提供了多种用于呈现来自日志、SharePoint 数据库和性能计数器的数据的报表。这些报表会收集 SharePoint 场中的数据,并显示侧重于服务器场性能的特定方面的聚合信息。

也可以直接从显示在“指南”窗口底部的“报表”窗格中打开报表来开始调查。以下各段介绍了这些报表。

“基本”报表组

“基本”报表组包含多个报表,这些报表显示关键的常规性能指标的相关信息。

HTTP 请求

此报表显示服务器场中的所有 HTTP 请求。在从顶部报表中选择某个行时,将提取该请求中的完整跟踪,并将其显示在底部窗格中。

右键单击任意单元格以添加一个使用您所选的列名称和值的筛选器。或者,您也可以通过使用报表顶部的筛选器列表对这些结果进行筛选。当使用 LIKE 运算符时,将“%”视为通配符。

单击任一列标题可按该列进行排序。例如,若要查找最慢的请求,请单击“持续时间”列。再次单击该标题可颠倒结果顺序。

您在自定义筛选器列表之后,可以保存报表,这样就不必再次生成它了。保存的报表可在屏幕左下角的“报表”窗格中的“自定义”节点下找到。下次您加载报表时,它将还原保存的排序和筛选器并将其应用到新数据。

若要将当前结果集保存到共享区或者在电子表格中查看,请单击“导出”按钮。

Windows 事件

此报表显示来自服务器场中所有计算机上的 Windows 事件日志的关键事件和与 SharePoint 相关的事件。请使用此报表查找在特定时间段内出现的严重问题。

右键单击任意单元格以添加一个使用您所选的列名称和值的筛选器。或者,您也可以通过使用报表顶部的筛选器列表对这些结果进行筛选。当使用 LIKE 运算符时,将“%”视为通配符。

单击任一列标题可按该列进行排序。

您在自定义筛选器列表之后,可以保存报表,这样就不必再次生成它了。保存的报表可在屏幕左下角的“报表”窗格中的“自定义”节点下找到。下次您加载报表时,它将还原保存的排序和筛选器并将其应用到新数据。

若要将当前结果集保存到共享区或者在电子表格中查看,请单击“导出”按钮。

ULS 跟踪问题

此报表显示在统一日志记录服务 (ULS) 跟踪日志中检测到的问题。出现问题时执行的高级跟踪可能会提供与原因有关的线索。在从顶部报表中选择行时,将提取请求或计时器作业中的完整跟踪,并将其显示在底部窗格中。

右键单击任意单元格以添加一个使用您所选的列名称和值的筛选器。或者,您也可以通过使用报表顶部的筛选器列表对这些结果进行筛选。当使用 LIKE 子句时,将“%”视为通配符。

单击任一列标题可按该列进行排序。例如,若要查找最慢的请求,请单击“持续时间”列。再次单击该标题可按另一方向排序。

您在自定义筛选器列表之后,可以保存报表,这样就不必再次生成它了。保存的报表可在屏幕左下角的“报表”窗格中的“自定义”节点下找到。下次您加载报表时,它将还原保存的排序和筛选器并将其应用到新数据。

若要将当前结果集保存到共享区或者在电子表格中查看,请单击“导出”按钮。

计时器作业

此报表显示所有计时器作业的执行。在从顶部报表中选择行时,将提取计时器作业中的完整跟踪,并将其显示在底部窗格中。

右键单击任意单元格以添加一个使用您所选的列名称和值的筛选器。或者,您也可以通过使用报表顶部的筛选器列表对这些结果进行筛选。当使用 LIKE 子句时,将“%”视为通配符。

单击任一列标题可按该列进行排序。例如,若要查找最慢的作业,请单击“持续时间”列。再次单击该标题可按另一方向排序。

您在自定义筛选器列表之后,可以保存报表,这样就不必再次生成它了。保存的报表可在屏幕左下角的“报表”窗格中的“自定义”节点下找到。下次您加载报表时,它将还原保存的排序和筛选器并将其应用到新数据。

若要将当前结果集保存到共享区或者在电子表格中查看,请单击“导出”按钮。

性能计数器

此报表显示一段时间内使用率数据库中收集的计数器的关键性能计数器数据。

通过使用自定义筛选控件,按特定类别、计数器、实例或计算机筛选。选择一个所需类别,其他三个筛选控件(计数器、实例、计算机)中将动态填入相关的结果。做出筛选选择后,单击“刷新”可重新生成报表。将鼠标指针置于图表中某个系列的上方可确定与该值相关的类别、计数器、实例或计算机。

可以使用 Add-SPDiagnosticsPerformanceCounter Windows PowerShell cmdlet 将其他性能计数器添加到 SharePoint 场中的服务器。您添加的任何新的计数器将自动包含在 SharePoint Diagnostic Studio 数据集中。

“容量”报表组

“容量”报表组包含多个报表,这些报表显示有关服务器场容量指示器的信息。

一段时间内的 SQL Server 查询 IO

此报表显示一段时间内的占用大量资源的存储过程输入/输出 (I/O)。

顶部图形基于 SQL 动态管理视图显示一段时间内成本最高的五个查询或存储过程。

底部表包含与耗费大量资源的查询有关的详细信息,包括选定时间段的 I/O 总计、每个调用的平均 I/O、执行计数和 CPU 开销。

记下任何峰值或峰值组以及其出现时间。此类峰值可指示耗费大量资源的存储过程调用或错误的执行计划。

查找在“执行计数”列和“平均 IO”列中具有较高值并在“IO 总计”列中具有较低值的查询。可能会多次调用此类查询。

单击“导出”按钮将执行计划保存到一个文件中,可以从该文件更轻松地读取此执行计划。

CPU

此报表显示各个场服务器上的每个进程在一段时间内产生的处理器使用率(以处理器总容量的百分比表示)。用于填充此图形的数据来自 | Processor | % Processor Time | _Total performance 计数器。

备注

来自性能计数器的数据仅在为目标场打开 SPDiag 项目后可用。

进程内存 (MB)

此报表显示每个场服务器上一段时间内可用的物理内存(以 MB 表示)。用于填充此图形的数据来自 | Process | Private Bytes | <process name> 性能计数器。

“性能”报表组

“性能”报表组包含多个报表,这些报表显示有关与延迟和 SQL Server 相关的特定服务器场性能指标的信息。

SQL 密集读取跟踪

此报表显示读取的页面(1 页 = 8 KB)的数目超过 50,000 的 SQL Server 查询。

读取大量数据的查询会迫使将有用数据移出内存并使得其他查询执行高成本的物理读取,从而导致 SQL Server 的响应速度很慢。这会影响查询位于同一 SQL Server 上的数据的用户操作的最终用户延迟。

如果查询文本中包含一个相关 ID,则可使用它来查找生成查询的请求或计时器作业。将此相关 ID 复制到 HTTP 请求报表或“计数器作业”报表的筛选字段中。

延迟层细分

此报表显服务器端 HTTP 请求页延迟在一段时间内的移动平均值。呈现请求所花费的时间将划分为典型 HTTP 请求在处理过程中通过的三个层。

  • SQL Server   如果 SQL Server 查询所花费的时间多于 250 毫秒,则请使用“SQL 概述”报表来标识 SQL Server 瓶颈。

  • 应用程序服务器   如果服务调用所花费的时间多于 250 毫秒,则请使用“HTTP 请求”报表中的“服务调用持续时间”列来查找受服务请求影响最大的请求。

  • Web 服务器   如果 SQL Server 或应用程序服务器层中似乎没有瓶颈,并且 Web 服务器上的请求所花费的时间多于 250 毫秒,则请使用“HTTP 请求”报表中的“持续时间”列从总体上查看最慢的请求。可以查看“延迟所有请求”报表以确定问题是否只出现在单台计算机上。最后,可以查看 CPU 报表以确定一台或多台 Web 服务器或应用程序服务器是否表现出处理器使用率过高。

已更改对象

此报表基于更改日志中的信息显示特定时间段内发生更改的所有对象类型。更改日志是内容数据库中已发生的更改的历史记录。利用更改日志,搜索爬网程序和其他功能可以仅查询自上一次爬网后发生的更改。

每隔 k 分钟收集一次数据点(其中,默认情况下 k 为 5)。此报表以堆积条形图的形式显示在所有内容数据库中聚合的数据。每个堆积条形图均表示一种不同的对象类型(请参阅相应的图例)。

可以按数据库或对象类型筛选这些结果。例如,您可以将报表自定义为仅显示在名为 contentdb1 的数据库上创建的已更改对象(假定该数据库位于筛选下拉列表框中)。同样,您可以将报表自定义为仅显示对象类型为 List 的更改的数据,以查看所有列表级别的更改。

此数据可帮助您从整体上了解特定时间段内发生的更改的类型。通过此数据,您可以进一步查看“HTTP 请求”报表以确定导致发生这些更改的请求,也可以查看“每个数据库的已更改对象”报表以使用不同的透视查看相同的数据。此外,您可以查看“更改类型”报表和“每个数据库的更改类型”报表以进一步了解要对对象进行的更改的类型。

如果要将当前结果集保存到共享区,请单击“导出”按钮。

每个数据库的已更改对象

此报表基于更改日志中的信息显示特定时间段内特定内容数据库中已发生更改的所有对象类型。更改日志是内容数据库中已发生的更改的历史记录。利用更改日志,搜索爬网程序和其他功能可以仅查询自上一次爬网后发生的更改。

每隔 k 分钟收集一次数据点(其中,默认情况下 k 为 5)。此报表以堆积条形图的形式显示在所有内容数据库中聚合的数据。每个堆积条形图均表示一种不同的对象类型(请参阅相应的图例)。

可以按数据库或对象类型筛选这些结果。例如,您可以将报表自定义为仅显示在名为 contentdb1 的数据库上创建的已更改对象(假定该数据库位于筛选下拉列表框中)。同样,您可以将报表自定义为仅显示对象类型为“List”的更改的数据,以查看所有列表级别的更改。

此数据可帮助您从整体上了解特定时间段内发生的更改的类型。通过此数据,您可以进一步查看“HTTP 请求”报表以确定导致发生这些更改的请求,也可以查看“已更改对象”报表以使用不同的透视查看相同的数据。此外,您可以查看“更改类型”报表和“每个数据库的更改类型”报表以进一步了解要对对象进行的更改的类型。

如果要将当前结果集保存到共享区,请单击“导出”按钮。

更改类型

此报表基于更改日志中的信息显示特定时间段内已发生更改的所有对象类型。更改日志是内容数据库中已发生的更改的历史记录。利用更改日志,搜索爬网程序和其他功能可以仅查询自上一次爬网后发生的更改。

每隔 k 分钟收集一次数据点(其中,默认情况下 k 为 5)。此报表以堆积条形图的形式显示在所有内容数据库中聚合的数据。每个堆积条形图均表示一种不同的对象类型(请参阅相应的图例)。

可以按数据库或对象类型筛选这些结果。例如,您可以将报表自定义为仅显示在名为 contentdb1 的数据库上创建的已更改对象(假定该数据库位于筛选下拉列表框中)。同样,您可以将报表自定义为仅显示更改类型为 Rename 的更改的数据,以查看所有与重命名相关的更改。

此数据可帮助您从整体上了解特定时间段内发生的更改的类型。通过此数据,您可以进一步查看“HTTP 请求”报表以确定导致发生这些更改的请求,也可以查看“每个数据库的更改类型”报表以使用不同的透视查看相同的数据。此外,您可以查看“已更改对象”报表和“每个数据库的已更改对象”报表以进一步了解要更改的对象的类型。

如果要将当前结果集保存到共享区,请单击“导出”按钮。

每个数据库的更改类型

此报表基于 ChangeLog 中的信息显示特定时间段内已发生更改的所有对象类型。每隔 k 分钟收集一次数据点(其中,默认情况下 k 为 5)。此报表以堆积条形图的形式显示在所有内容数据库中聚合的数据。每个堆积条形图均表示一种不同的对象类型(请参阅相应的图例)。

可以按数据库或更改类型筛选这些结果。例如,您可以将报表自定义为仅显示在名为 contentdb1 的数据库上创建的更改类型(假定该数据库位于筛选下拉列表框中)。同样,您可以将报表自定义为仅显示更改类型为 Rename 的更改的数据,以查看所有与重命名相关的更改。

此数据很有用,可帮助您从整体上了解特定时间段内发生的更改的类型,以及每个数据库中的更改数量。通过此数据,您可以进一步查看“HTTP 请求”报表以确定导致发生这些更改的请求,也可以查看“更改类型”报表以使用不同的透视查看相同的数据。此外,您可以查看“已更改对象”报表和“每个数据库的已更改对象”报表以进一步了解要更改的对象的类型。

如果要将当前结果集保存到共享区,请单击“导出”按钮。

延迟所有请求

此报表为所有请求(最大数目为 50,000)的持续时间绘图。

使用此报表可发现使用中的异常模式。例如,性能较低的网站可能始终需要花费 5 秒时间来加载,这将在 5 秒标记处显示为一个水平带区。对于更详细的视图,您可以将更小区域进行放大,转到“HTTP 请求”报表并查找所需时间约为 5 秒的请求。

延迟峰值将显示为列。如果这些峰值定期出现,则可查看“计时器作业”报表以确定某个特定作业是否在同一时间运行。

延迟百分点值

此报表显示一段时间内的多个关键百分点阈值,使您了解受特定延迟峰值影响的请求的数量。

例如,如果所有最快请求中的 25% 的请求需要 1 秒或更多时间,则某个共享资源(如网络或 SQL Server 计算机)中出现中断可能会影响所有请求。请使用“延迟层细分”报表查找共享资源中的问题。

另一方面,如果所有请求中的 75% 的请求快速完成,但第 95 个百分点值非常高,则您可能必须找出影响更少数目的请求的根本原因,如单个数据库中出现的阻塞或仅供部分网站使用的自定义代码。

若要查看最慢请求的日志,您可以查看“HTTP 请求”报表,并通过单击“持续时间”列的标题对列表进行排序。

还可借助使用率报表(如“每个用户的请求”报表和“应用程序工作负荷”报表)查找对网络造成意外负载的用户或应用程序。

SQL 死锁

此报表列出一段时间内的 SQL Server 死锁。SQL Server 使用死锁检测来阻止服务器在执行两个不兼容的查询时挂起。若要解决死锁,请取消一个或多个查询。SharePoint Server 可从部分死锁恢复,并重试受影响的查询。但是,死锁有时会导致某些请求失败。

SQL 阻止

此报表列出已阻止其他 SQL 查询的 SQL 查询。

阻止可停止服务器场上的所有活动。当受影响的数据库无法处理阻止的请求时,最终将占用所有可用的 Web 服务器内存,这会导致受影响的服务器停止响应或发生崩溃。

此报表显示负责生成阻止查询的请求或计时器作业(如果可能)以及任何关联的日志。如果阻止是由特定的最终用户事务造成的,则这些内容会很有用。在此类情况下,可能会指示重新构造列表或重新设计使用自定义查询的应用程序。

某些阻止是无法避免的。例如,夜间数据库维护任务必须锁定数据库的大部分内容。

“可用性”报表组

“可用性”报表组包含多个报表,这些报表显示有关服务器场可用性趋势和问题的信息。

“可用性”报表

此报表绘制了 HTTP Web 服务的可用性图表。可用性降低指示用户可能已无法访问其 SharePoint 网站的时间段。

此报表通过将成功的 Web 请求的数量除以已发送到服务器的请求的总数来计算可用性。在此计算中,会尝试删除来自自动化代理(如搜索爬网程序)的请求。但是,可能无法排除某些未知的自动化代理。

使用鼠标选中某个可用性较低的时段可将其放大。如果您选择的时间范围更小,则此调查中使用的后续报表的加载速度就更快。

在缩小时间范围后,您可以使用“失败的用户请求”报表来查看有关选定时间段内失败的请求的详细信息。

一旦发生崩溃,就会退出进程而不允许请求完成,从而降低可用性。由于进程无法在发生崩溃时写入日志,因此,这些报表中不会显示发生崩溃时运行的请求,并且图形中不会显示这些请求对可用性产生的影响。不管怎样,始终应调查发生崩溃的原因。

“计划的工作进程回收”很少降低可用性。服务器将尝试在允许完成来自某个进程的请求的同时开始另一个进程以处理新请求。通常,如果服务器无法响应有关并行运行多个进程的增长的需求,则高于平均流量的期间的未计划的回收会导致某些请求失败。

“SQL 概述”报表

此报表显示的信息可帮助您了解服务器场中的 SQL Server 计算机的整体运行状况。此报表重点说明了以下三个方面:

SQL Server 锁定/阻止

SQL Server 查询阻止可增加某些 SQL Server 查询持续时间值,并且可能会导致出现可用性问题和增加延迟。

  • 平均锁定等待时间   对 SQL Server 资源(如事务期间读取或修改的行)进行锁定可阻止不同的事务同时使用资源。例如,更新将保留 XLOCK 并阻止共享读取锁定。锁定等待时间长意味着 SQL Server 层中存在阻止问题,您应注意较慢的更新线程,因为它们会阻止读取。

  • 平均闩锁等待时间   闩锁主要用于同步数据库页。每个闩锁均与一个分配单元关联。当请求的闩锁由于已由冲突模式中的另一个线程持有而无法立即获得时,即会发生闩锁等待。与锁定不同,闩锁在操作完成后会立即释放,即使是在写入操作中也是如此。闩锁等待时间长意味着将特定页加载到内存中所花费的时间太长。

当锁定等待时间很长时,可查看“SQL 阻止”报表以确定持有锁的查询。

可以查看“SQL 死锁”报表以标识可能已生成失败请求的查询。

SQL Server 磁盘 IO

I/O 瓶颈是一个常见的 SQL Server 性能问题。当 SQL Server 的 I/O 带宽不足而无法处理传入查询时,所有请求中的性能将降低,并且所有场 Web 服务器中的性能也将降低。

  • 平均磁盘队列长度   此度量针对的是整体磁盘 I/O。较高的度量值表示整体 I/O 压力增加,如果该值大于 10,则可能存在 I/O 瓶颈。

  • 平均逻辑读取数/秒   此度量适用于读取磁盘 I/O。较高的度量值表示读取 I/O 压力增加。

  • 平均逻辑写入数/秒   此度量针对的是写入磁盘 I/O。较高的度量值表示写入 I/O 压力增加。

在存在 I/O 瓶颈时,请查看“SQL 密集读取跟踪”报表以查看占用的资源最多的特定查询。

SQL Server CPU

当 SQL Server 计算机的处理器使用率非常高时,将对 SQL 查询进行排队并且 Web 服务器性能将降低。处理器与 I/O 性能是相关的。因此,当 SQL Server 处理器使用率较高时,I/O 通常也较高。平均处理器使用率达到 80% 就会被视为瓶颈。

在存在 CPU 瓶颈时,请查看“SQL 密集读取跟踪”报表,然后单击“CPU”列以按开销最大的查询排序。

工作进程回收

回收通常不会影响可用性。Internet Information Services (IIS) 7.0 将创建新的进程,这将允许完成现有请求,然后再完全关闭回收进程。但是,在初始化新的进程时,首次浏览到该进程会延迟。

默认情况下,SharePoint Server 会安排在夜间执行工作进程回收作业。在工作时间频繁地执行回收会增加最终用户请求的延迟。请查看以确认 Web.config 设置是否已更改,或是否已在 IIS 中修改回收设置。

失败的用户请求

这些用户请求将失败,或者用户可能因这些请求太慢而将其假定为已失败。

选择失败的请求可提取其跟踪日志。查找提及系统的某个组件发生失败的跟踪。如果原因不明确,请查看“Windows 事件”报表以了解服务器上或 IIS 中发生的系统失败的迹象。

如果请求因太慢而失败,请在日志中查找空白(可能已突出显示)。如果空白前面的行指示 SQL Server 中发生延迟,则此请求很可能是锁定的受害者。查看“SQL 阻止”报表以查找作为问题的根本原因的阻止查询。

预计某些请求(如下载大型文件)会较慢。

崩溃

此报表显示指定时间范围内发生的所有 IIS 工作进程崩溃。在顶部报表中选择一个行后,底部窗格中会显示来自崩溃进程的前几秒跟踪。这些跟踪可能会指示发生崩溃的原因。

崩溃会大大影响可用性。可用性报表可能会低估崩溃产生的影响,因为未记录发生崩溃时执行的请求。即使崩溃不会明显影响可用性,它也会导致数据丢失或其他问题,因此应调查崩溃。

“使用率”报表组

“使用率”报表组包含多个报表,这些报表显示有关服务器场使用率趋势和问题的信息。

每个 URL 的请求

此报表显示最常请求的 URL。可以使用此报表标识经常访问的页,这些页可能会成为优先级较高的优化候选对象。

每个用户的请求

此报表显示最常见用户帐户发出的请求的百分比。某些系统帐户(如搜索爬网程序服务帐户)可能会生成多个请求。在某些时间段内,单个用户还可能会执行将产生意外的资源使用率峰值的操作。

应用程序工作负荷

此报表显示给定时间范围内处理来自各种客户端应用程序的请求所花费的时间。此报表估计了客户端请求要占用的资源。此报表可能会指出以下注意事项:

  • 较长的总持续时间指示 Web 服务器上需要额外的内存。

  • 较长的 SQL Server 进程持续时间意味着较高的 SQL I/O 或处理器使用率,或意味着来自客户端应用程序的请求可能会被其他查询阻止。

  • 较长的 Web 服务器持续时间可能指示场 Web 服务器上的处理器使用率较高。

每个站点的请求

此报表显示服务器场中每个站点发出的请求的百分比。

已知问题

本节列出了 SPDiag 3.0 中的已知问题及其解决方法(如果可用)。

SPDiag 需要在 PowerShell 中启用 remotesigned 执行策略。

如果未在将 SPDiag 配置为连接到的场服务器上的 PowerShell 中启用 remotesigned 执行策略,则当您尝试在 SPDiag 的“新建项目”窗口中输入服务器名称时,SPDiag 将生成一条错误消息。您可能会看到类似于这样的错误消息:

Problem Event Name: CLR20r3

Problem Signature 01: spdiag.exe

Problem Signature 09: System.ArgumentOutOfRange

若要纠正此问题,请从要连接到的场服务器上的 Windows PowerShell 命令提示符处运行以下命令:

Set-ExecutionPolicy RemoteSigned

在使用 SQL Server 别名时,服务器连接将失败

当您尝试从远程客户端计算机将 SPDiag 连接到服务器场,且 SharePoint 2010 产品服务器场配置为使用 SQL Server 别名连接到数据库服务器时,SPDiag 将生成以下错误:

使用率数据库未找到或不可访问。请确保 TTFARM 文件包含正确信息并且您可以访问服务器。

若要纠正此问题,请在安装 SPDiag 的计算机上安装 SQL Server 客户端工具,然后配置与 SharePoint 2010 产品服务器场使用的别名匹配的 SQL Server 别名。

一些 SPDiag 诊断计时器作业需要 sysadmin 或 sqladmin 权限

一些 SPDiag 3.0 诊断作业需要已在 SharePoint 2010 产品数据库所在的 SQL Server 实例上分配 sysadmin 角色或 sqladmin 角色的服务器场帐户。如果服务器场帐户未分配这些角色,则该帐户的权限将不足,无法运行特定报表所需的诊断作业以收集数据。

在 OS 区域设置不是 EN-US (1033) 时,SPDiag 报表无法运行

当安装 SPDiag 的计算机的操作系统区域设置为 EN-US (1033) 之外的值时,SPDiag 报表将无法运行,因为您无法设置该报表的日期范围。目前,唯一的解决方法是将客户端计算机的区域设置更改为 EN-US。

如果 SharePoint 2010 产品场服务器使用 EN-US 之外的区域设置,建议您在客户端计算机上安装 SPDiag。

See Also

Concepts

SharePoint 2010 Administration Toolkit (SharePoint Server 2010)