Server Performance Advisor (SPA) 3.0
服务器可能会非常昂贵,因此我们投入了大量的时间和精力来试图弄清如何使服务器获得最佳性能。Windows Server 2012 具有许多可以提高服务器性能和扩展服务器规模的功能。有些事我们可以做,而有些事则需要您来做。在今天的博文中,Windows 性能团队的高级项目经理 Ahmed Talat 将介绍一种功能强大的工具,借助该工具您可以了解服务器的使用情况以及如何对服务器进行优化以获得最佳的性能。
此致!
Jeffrey
从 Windows Server 2008 开始,我们发布了不同版本的服务器性能优化指南,旨在帮助系统管理员和 IT 专业人士获得最佳性能的服务器部署。对于 Windows Server 2012,我们发布了 Windows Server 2012 性能优化指南,但这一次情况有所不同。我们利用了优化指南中的性能知识,将其中的一些知识应用在最近重新设计的 Server Performance Advisor (SPA) 工具中。
SPA 3.0 可帮助 IT 管理员收集多种指标以诊断 Windows Server 2012、Windows Server 2008 R2 和 Windows Server 2008 上的性能问题,并可通过非介入的方式诊断最多 100 个服务器,而无需添加软件代理或重新配置生产服务器。该工具可生成全面的性能报告(如下方图 1 中所示)和包含建议的历史数据图表。
简介
在本博文中,我们将讨论 SPA 的工作原理和一些您可以在下载该工具之后唾手可得的的独特功能。
图 1:包含两条警告的 SPA 性能报告屏幕截图
宏观来看,SPA 由两部分组成。第一部分是管理控制台(或仪表板),供用户选择他们要收集数据的服务器、服务器的相应角色、收集数据的时间以及收集数据的频率。控制台包含一组安装要求,这些要求已在下载页面中列出。
SPA 的第二部分是顾问包(或“AP”)。AP 包含一组性能规则。AP 有两种用途。首先,它可以用来定义在实例化 AP 时从服务器中收集哪些数据。其次,AP 规则可用来评估服务器的行为。例如,如果来自服务器的数据显示网络适配器的包重传率超过 10%,并且根据系统计数器,该网络适配器具有大量的发送活动,则报告中会记录一条警告。
工作原理
现在,让我们回过头来直观地了解一下端到端的过程,从而您可以更好地理解各个 SPA 组件的角色,以及它们彼此之间的交互方式。该工作流中的不同步骤已编号为 1 至 6,下方对各个步骤进行详细说明。
图 2:从远程服务器收集数据的 SPA 工作流
1. 设置数据收集会话
在用户安装 SPA 之后,根据目标服务器角色选择他们所需的 AP。SPA 配有一些内置的 AP,如核心操作系统 AP、IIS AP 和 Hyper-V 主机 AP。核心操作系统 AP 是一种通用的 AP,其涵盖了 I/O 和资源利用率等基本功能,而另外两种则是特定的 AP。可以将 AP 导入到 SPA 来帮助定义需要收集哪些数据,这些数据以后会用来评估服务器的性能,并生成报告。用户可以在单个数据收集会话中选择并运行多个 AP。
2. 在目标服务器上开始数据收集
用户可以定义收集数据的时间,并选择使用一次性或是定期的数据收集方式。请谨记数据收集的时间越长,要处理并发送回控制台计算机的数据就会越多。随后,控制台通过 Perfmon 等工具使用的性能日志和警报 (PLA) 服务将数据收集请求发送到目标服务器,从而 SPA 可以开始收集数据。
3. 服务器上的数据收集
每个目标服务器从控制台计算机接收请求以开始收集一组预定义的数据。SPA 从 Windows 事件跟踪 (ETW) 事件、Windows 管理基础结构 (WMI)、性能计数器、配置文件和注册表项收集数据。
4. 保存数据以进行后处理
每个服务器将性能数据写入到预定义的文件共享。我们希望管理员在控制台上指定文件共享,并避免对目标服务器的磁盘性能造成影响,管理员也可以选择从 SPA 的菜单选项中创建文件共享。
5. 存储数据以生成报告
当控制台从文件共享提取数据后,它将数据存储到 SQL 数据库。由于数据库中存有数据,SPA 可以提供历史图表来帮助您对几天或几小时内的性能行为进行趋势分析。用户还可以在数据库中删除旧的报告。
6. 生成性能报告
SPA 基于 AP 规则分析结果。可以在报告中概括结果,确定问题并提供一些可能的缓解措施,并让管理员决定是否进行更改。注意:我们希望该工具由经验丰富的管理员来使用,他们必须理解实施更改的目的,并有足够的知识来判断建议的缓解措施是否适用于目标系统。
SPA 功能
您已初步了解该过程端到端的工作方式,现在我们转移一下注意力,来看看在安装、数据收集和报告查看方面,用户通过使用 SPA 3.0 可以获得哪些功能。
- 服务器上的零代理安装 要使用 SPA,您只需在符合要求的控制台计算机上安装它即可。SPA 可在本地或从远程服务器收集性能数据。由于 SPA 使用 PLA 进行远程数据收集,用户可以将 SPA 指向远程服务器并立即开始收集性能数据(在工作负荷运行时)。用户还可以在多台服务器上并行收集数据。当然,控制台计算机需要进行正确的身份验证并打开端口来确保成功。注意:收集开销通常是最小的,并且大多数工作负荷不会受到影响。极低延迟的工作负荷除外,此时收集可以改变工作负荷的行为。
- 可扩展的脚本化 AP AP 是体现和捕获所有性能数据的位置。AP 定义捕获哪些数据以及使用哪些数据来评估服务器的性能。由于使用的是 T-SQL,因此编写 AP 非常简单。我们鼓励您查看 AP 开发指南,它可以帮助您编写自定义的 AP 以提高诊断性能问题的速度。
- 使用多个数据源获得统一的系统性能视图 Windows 具有丰富的度量点,AP 可对其加以利用。内置的 AP 当然也可以!SPA 可从前面提到的多种不同来源收集数据,这使其成为了非常强大的工具。它可以使所有这些数据关联起来,得出数据点之间的因果关系,并为用户提供展示其系统行为的统一视图,其中包含了针对所报告问题的可操作建议。这些建议对一些关键的性能指标(如延迟、可扩展性和吞吐量)提供了深入见解,您可以依照其采取措施。
- 性能和服务器配置数据的并排比较 SPA 3.0 中的这一新功能允许用户比较同一服务器上在两个不同的时间点收集的数据、不同服务器上在两个不同的时间点收集的数据,或两个不同服务器在同一时间点上收集的数据。比较某一日期之前或应用某一修补程序之前服务器行为的功能非常有用,该功能可以缩小发生变化的时间点的范围,并将其与性能下降关联起来。 报告使用包含黄色感叹号的三角形表示警告并使用绿色圆圈中的对钩标志表明无需执行任何操作。
图 3:同一计算机上两个不同时间点的并排比较报告
- 图表制作和历史趋势分析 制作指定时间内服务器的性能特征和指标的图表有助于用户识别日期相关的模式和异常,这些特定日期往往发生了一些特定活动。例如,管理员有一项计划执行的索引任务,开始执行后影响了系统性能。此时,磁盘的延迟会增加,因为索引服务引发的磁盘 I/O 写入开始执行并拖延介质的时间。下图显示了一些 SPA 3.0 中出色的内置功能,用于对数据进行图表制作和趋势分析。
图 4:显示一段时间内性能指标的历史趋势分析图表
图 5:7 天内实现的最低文件写入吞吐量的趋势
- 内置的 AP 用于 Hyper-V 和 IIS 等关键角色 为帮助用户开始使用 SPA 3.0,我们提供了 3 种内置的 AP 来作为下载包的部分内容。第一种是核心操作系统 AP,它专注于基本的资源特征,如 CPU 利用率、网络流量、内存占用和存储相关的事件。第二种是 IIS AP,它包含 Web 服务器特定的规则,如访问的前 10 个 URL 和 IIS 中的一些常见配置参数。第三种是 Hyper-V 主机 AP,它重点关注托管多个虚拟机的服务器,并为性能问题提供虚拟化特定的诊断。
- 可配置的数据采样间隔和收集持续时间 一些用户希望按需收集数据,而其他用户则希望按预定义间隔收集数据。如果您正尝试隔离非定期发生的性能行为,并希望在特定的时间段内通过设置频繁的数据收集间隔来捕获该行为,则后者将十分有用。还有的用户希望手动收集数据,尤其是在他们仅下载更新或修补程序的情况下,或者是他们只是在其环境中进行硬件或固件升级,希望使用比较视图来量化升级前和升级后的性能影响。
- PowerShell 脚本支持 系统管理员可以编写脚本,以特定的时间间隔,在目标服务器上调用 SPA cmdlet 并计划远程定期数据收集。借助相关的 SPA 报告,他们还可以通过查询数据库来了解关于所运行 AP 和目标服务器的信息。SPA 手册中包含所支持的 PowerShell cmdlet 的详细信息和语法。
- AP 中的可配置阈值 内置的 AP 配有一组适用于所有规则的预定义阈值,但鉴于不同的工作负荷和不同的客户将使用不同的服务级别协议 (SLA) 和警报点,用户可以在 AP 中灵活设置其自有的阈值,以更好地适应他们的环境和工作负荷。
图 6:用户可在详细信息视图中了解关于规则的更多信息
总结
在本博文中,我们介绍了重新设计的 Server Performance Advisor 3.0,进行了关于不同 SPA 组件的交互方式及其各自角色的简要概述。此外,我们还分享了 SPA 提供的一些令人惊叹的新功能。我们希望您喜欢本博文,同时我们还邀请您通过 SPA MSDN 下载页面下载和试用最新内容。请通过以下地址分享您的体验并向我们发送反馈:spafb@microsoft.com。