微筛选器诊断

本主题可帮助你解释通过运行其中一个微型筛选器诊断评估生成的结果,或者通过在评估中启用微型筛选器诊断模式而产生的结果。 它还提供了有关如何使用结果来识别和解决对最终用户的体验和计算机感知性能产生负面影响的常见问题的指导。

微型筛选器驱动程序是一种文件系统筛选器,用于截获面向文件系统或其他文件系统筛选器的请求。 在请求到达其预期目标之前截获它,筛选器驱动程序就可以扩展或替换请求的原始目标提供的功能。 文件系统筛选器驱动程序的示例包括:防病毒筛选器、备份代理和加密/解密产品。 微型选器驱动程序由名为筛选器驱动程序的旧驱动程序实现。

筛选器公开文件 I/O 的预处理和后处理的回调。 筛选器驱动程序通过这些回调与微筛选器通信。 微筛选器用于处理标准 I/O。 有关应用程序使用内存映射文件的情况,请参阅文件系统筛选器驱动程序中的内存映射文件

关于微筛选器诊断模式

微筛选器旨在使截获文件 I/O 比使用其他分析软件更容易。 如果没有微筛选器,开发人员必须编写旧版驱动程序,这既困难重重,又容易出错。

由于微型筛选器在大多数文件 I/O 上运行代码,因此它们的性能会显著影响应用程序和最终用户体验。 一个实施不当的微型筛选器可能会导致计算机速度可察觉地降低。 微筛选器诊断模式旨在通过运行三个 I/O 密集型任务(包括以下内容)来帮助识别此类驱动程序:

  • 标准文件系统操作,例如移动、复制和删除文件。

  • 加载应用程序并监视加载其所有依赖项所需的 I/O。

  • 启动计算机并监视 I/O,以帮助查找可能对启动和关机性能产生负面影响的微筛选器。

有三个评估,其中包括在评估运行时“启用微筛选器诊断模式”的评估设置。 默认情况下,对于以下评估,微筛选器诊断模式处于禁用状态:

  • 文件处理

  • Internet Explorer 启动性能

  • 启动性能(快速启动)

默认情况下,这三个评估还可用于启用微筛选器诊断。 它们与其他可用评估一起列出,如下所示:

  • 微筛选器诊断:文件处理

  • 微型筛选器诊断:Internet Explorer

  • 微型筛选器诊断:引导性能(快速启动)

运行所有三个评估(启用了微筛选器诊断)可提供微筛选器对系统的影响方式的广泛视图。 每个评估都运行一个特定的方案,并收集有关系统上安装的微型筛选器的行为的数据。 然后可以使用 Windows 评估控制台、Windows 评估服务 - 客户端 (Windows ASC) 或 Windows 性能分析器 (WPA) 分析此数据。 评估工具以与 WPA 不同的方式对数据进行分组,但所有这些工具都使你能够向下钻取以查看微筛选器的效果。

微筛选器诊断:文件处理评估

微筛选器诊断:文件处理评估执行文件系统操作,如移动、复制和删除文件系统上的文件。 此评估测量每种类型的 I/O 的挂钟时间和吞吐量。 有关此评估的详细信息,请参阅文件处理

微筛选器诊断:文件处理评估除了收集吞吐量(如果适用)之外,还会收集数据,例如复制、移动或删除文件系统上的文件所需的挂钟时间。 向下钻取以查看所有主要的微筛选器回调例程时,可以找到每个例程的调用次数、完成调用所花费的时间以及平均和最长调用时间。

微型筛选器诊断:Internet Explorer

微筛选器诊断:Internet Explorer 评估将在新的 Internet Explorer 窗口中打开一个包含简单内容的选项卡。 Internet Explorer 是一个中型到大型应用程序,具有一长串依赖的 DLL。 该评估充当启动任何应用程序的代理,然后监视已安装的微型筛选器的行为方式。 有关此评估的详细信息,请参阅 Internet Explorer 启动性能

微筛选器诊断:Internet Explorer 评估提供数据,例如创建框架、创建选项卡和启动应用程序所需的时间。 向下钻取以查看所有主要的微筛选器回调例程时,可以找到每个例程的调用次数、完成调用所花费的时间以及平均和最长调用时间。

微型筛选器诊断:引导性能(快速启动)

微筛选器诊断:启动性能(快速启动)评估将引导系统并监视此关键时间段内的 I/O 活动。 结果数据按启动阶段进行组织。 启动过程有 17 个阶段。 给定的微型筛选器可能会在多个阶段影响启动。 有关此评估的详细信息,请参阅开/关转换性能

向下钻取以查看所有主要的微筛选器回调例程时,可以找到每个例程的调用次数、完成调用所花费的时间以及平均和最长调用时间。

有关特定于每个评估的结果的详细信息,请参阅:

评估生成了两种类型的问题。 可以通过解决评估开始之前出现的错误和警告来控制预配置问题。 如果在评估开始之前未解决这些问题,则会生成问题并将其添加到评估结果中。 将指标值与该指标的目标进行比较时,将生成另一种类型的问题。 你通常从这两个问题开始分析。 有些问题需要重新配置计算机并再次运行评估,而其他问题则是在评估期间进行的揭示潜在问题的测量值。

通过运行这三个评估,你可以看到微型筛选器对启动的影响以及计算机的常见使用情况。 结果可能会突出显示特定于评估方案的问题,但结果也可用于识别微筛选器问题并比较结果。 例如,你可以通过在两个相同的系统上运行评估来比较各种防病毒 (AV) 程序包对系统的影响,这两个系统仅因安装的 AV 软件而有所不同。 你还可以比较安装了相同 AV 软件的两台不同计算机。 或者,你可以只使用一台计算机并在安装了一个 AV 程序的情况下运行评估,然后卸载它并安装其他 AV 程序,然后再重新运行这三个评估。 无论哪种方式,你都可以打开所有结果进行并排比较,然后开始分析。

指标

本节介绍关键的微筛选器指标、这些指标结果不佳的常见原因以及问题的常见修正。 本部分还尝试确定对其中每个指标影响最大的受众群体。

本节内容:

微筛选器指标层次结构

微筛选器诊断模式生成持续时间指标。 例如,为文件处理评估启用微筛选器诊断时,除了按微筛选器分组或按回调类型分组的子指标外,还会显示复制工作负载的持续时间。 微筛选器指标的基本层次结构如下图所示:

shows levels of results for minifilters

微筛选器指标值深层嵌套在逻辑分组下。 通过此结果层次结构,可以查看生成你感兴趣的结果的评估工作负载或阶段的详细信息。 展开工作负载的结果后,可以看到微筛选器列表以及它们各自提供的结果,这些结果聚合到工作负载级别。 从列表中选择一个特定的微筛选器,你可以看到针对该微筛选器进行的调用列表。 选择一个感兴趣的调用,你可以查看生成你感兴趣的结果的前后操作。 下面是一个示例:

注意

在文件处理性能评估中,第一个详细级别称为“工作负载”级别。 在启动性能评估或 Internet Explorer 启动性能评估中,第一个详细级别称为“阶段”级别。

sample results for minifilter drill down

在此方案中,CopyPG 工作负载的值为 14.494。 展开该结果时,你会发现是微筛选器 1.sys 驱动程序为 CopyPG 工作负载值贡献了值 11.541。 展开 minifilter1.sys 结果时,你会看到 Cleanup 回调类型是值 11.541 的源。 当你展开“清理”回调类型时,你会发现它是在值 11.541 下测量的 MiniFilterPreOpComp 操作。

使用此方法,你可以准确确定哪个操作、回调类型、微筛选器或工作负载/阶段产生了任何特定结果。 此外,每个“分组依据”下拉按钮都会显示默认情况下不可见的其他指标。 选择这些附加类别中的任何一个,即可查看分析的更多指标。

最长延迟

最长延迟指标是评估运行时在跟踪中发现的最长延迟。 此衡量指标适用于所有主要的 I/O 操作,例如“创建”、“控制”、“清理”、“信息”、“读取”、“写入”和“获取锁定”操作。 此指标的大值表示在执行文件操作、Internet Explorer 启动和启动时可感知的卡顿。

最适用于:微型筛选器 ISV 通过实现微型筛选器的方式对该指标产生最大的直接影响。 最终用户和原始设备制造商根据他们安装的微型筛选器产品对该指标有间接影响。

典型影响因素

此指标中的较大值通常是由评估运行时系统上的后台活动引起的,但也可能是由不正确的微筛选器设计引起的。 对于某些工作负载(例如,复制),文件大小也会影响此指标。

分析和修正步骤

当使用微筛选器结果来识别单个软件组件中的回归时,最相关的是针对同一组件的两个版本运行评估所创建的结果,或者比较来自不同应用程序编写器的两个类似产品的结果。

第一步是查找最长延迟。 为此,请展开微筛选器详细信息,右键单击“最长延迟”列,然后选择“按降序排序”。

为确保结果数据的保真度:

  • 关闭所有在后台运行的应用程序。

  • 确定主要组件后,考虑通过停止其他可选服务并再次运行评估以进行比较来隔离影响。

  • 确保系统在运行此评估时没有任何内存压力。

  • 多次运行评估以确认指标值不是临时文件系统事件(例如缓存刷新)的结果。

  • 解决因评估而出现的任何警告或问题,使其不再出现。

  • 微筛选器通常与服务相关联。

如果这些步骤不能解决问题,请考虑将微型筛选器产品替换为提供类似功能的不同产品或测试不同版本的微型筛选器。

想要找到问题根本原因的应用程序开发人员可以通过在 WPA 中打开跟踪来执行更深入的分析。 要进行深入分析,WPA 中微型筛选器延迟的分析视图是个不错的起点。 如果你运行这三个评估,将会有几个 ETL 文件,FileOrg.etl、IELaunch_Warm_1、IELaunch_Warm_2、IELaunch_Warm_3 和 IELaunch_Cold_1;如果运行名为 FastStartup_Analysis-* 的引导评估,则会有一些 ELT 文件。 任何理解 WPA 的人都可以使用这些 .etl 文件。

微型筛选器延迟

微筛选器延迟可以衡量微筛选器所花费的累积持续时间。 此指标显示微筛选器使用了多少时间,以及评估期间运行的其他活动使用了多少时间。 如果此指标中的值较大,可能表示用户在执行文件操作时可能会遇到响应能力较差的情况。

最适用于:微型筛选器 ISV 通过实现微型筛选器的方式对该指标产生最大的直接影响。 最终用户和原始设备制造商根据他们安装的微型筛选器产品对该指标有间接影响。

典型影响因素

如果此指标中的值较大,通常的原因是效率微筛选器设计效率低下。 对于某些工作负载(如复制)、文件大小、数量和类型也会影响此指标。 例如,媒体文件和文本文件之间的区别。

分析和修正步骤

为确保结果数据的保真度

  • 关闭所有在后台运行的应用程序。

  • 确定主要组件后,考虑通过停止其他可选服务并再次运行评估以进行比较来隔离影响。

  • 确保系统在运行此评估时没有任何内存压力。

  • 多次运行评估以确认指标值不是临时文件系统事件(例如缓存刷新)的结果。

  • 解决因评估而出现的任何警告或问题,使其不再出现。

  • 在最高延迟中查找模式。

如果这些步骤不能解决问题,请考虑将微型筛选器产品替换为提供类似功能的不同产品或测试不同版本的微型筛选器。

尝试查找问题根本原因的应用程序开发人员可以通过在 WPA 中打开跟踪来执行更深入的分析。 要进行更深入的分析,微型筛选器延迟分析视图是个不错的起点。 如果你运行这三个评估,将会有几个 ETL 文件,FileOrg.etl、IELaunch_Warm_1、IELaunch_Warm_2、IELaunch_Warm_3 和 IELaunch_Cold_1;如果运行名为 FastStartup_Analysis-* 的引导评估,则会有一些 ELT 文件。任何理解 WPA 的人都可以使用这些 .etl 文件。

平均调用长度

此指标是每次回调中花费的平均时间。 此指标中的大值可能表示执行文件操作时可感知的延迟。 如果最长延迟度量可以指示特定问题或原因,则平均值是衡量微筛选器整体行为的良好度量。 但是,只使用平均可能会导致忽略最极端的情况,例如大量相同的调用或一个非常大的延迟。

最适用于:微型筛选器 ISV 通过实现微型筛选器的方式对该指标产生最大的直接影响。 最终用户和原始设备制造商根据他们安装的微型筛选器产品对该指标有间接影响。

典型影响因素

此指标中的较大值可能是由于微筛选器设计不正确而引起的。 对于某些工作负载(复制),正在被操作的文件大小也会影响此指标。

分析和修正步骤

使用微筛选器指标来识别单个软件组件中的回归时,最相关的是创建和比较从同一组件的两个版本创建的结果,并查找回归或比较来自不同应用程序编写器的两个类似产品的结果。

平均调用时长提供客观的上下文信息,以将透视应用于“微筛选器延迟”指标中返回的结果。 比较结果时,如果“微筛选器延迟”指标增加,但平均值不增加,则“微筛选器延迟”指标的增加通常不能表明存在问题。 如果“微筛选器延迟”和“平均调用长度”趋势相同,则“微筛选器”延迟指标的增加通常表示性能发生变化。

要查找此类问题的根本原因,请在最高延迟中查找模式。

如果这些步骤不能解决问题,请考虑将微型筛选器产品替换为提供类似功能的不同产品或测试不同版本的微型筛选器。

微筛选器回调

此指标是操作系统或系统上运行的其他应用程序和服务调用微筛选器的次数。 可以向下钻取以查看此数字,了解各种类型的回调。

最适用于:根据最终用户和 OEM 安装的微筛选器产品以及他们卸载影响此指标的服务和应用程序的能力,这些对此指标有间接影响。

没有修正步骤,因为此指标仅取决于系统上安装的应用程序。

Windows 评估工具包

评估

开/关转换性能