修整性能测试

此测试将评估修整命令的性能。

测试详细信息

   
规范
  • Device.Storage.Hd.Trim.BasicFunction
平台
  • Windows 10,客户端版本 (x86)
  • Windows 10,客户端版本 (x64)
  • Windows Server 2016 (x64)
支持的版本
  • Windows 10
  • Windows 10 版本 1511
  • Windows 10 版本 1607
  • Windows 10 版本 1703
  • Windows 10 版本 1709
  • Windows 10 版本 1803
  • Windows 10 版本 1809
  • Windows 10 版本 1903
  • Windows 10 的下一次更新
预计运行时间(以分钟为单位) 180
类别 基准
超时(以分钟为单位) 10800
需要重启 false
需要特殊配置 false
类型 automatic

 

其他文档

此功能区域中的测试可能会有其他文档,包括先决条件、设置和故障排除信息,这些内容可在以下主题中找到:

运行测试

在运行测试之前,请按照测试要求(硬盘驱动器测试先决条件)中所述完成测试设置。

支持修整的设备必须连接到相应的控制器。 作业将用正确的分区和格式化准备磁盘,以进行测试。 测试具有破坏性,因此磁盘不能是启动驱动器。 此外,由于测试会日志记录大量数据,因此请确保有一个单独的驱动器可用作记录器驱动器。 测试将自动选取日志记录驱动器。 尽可能减少驱动器上发生徽标测试范围外的活动非常重要。 由于这是性能测试,外部活动可能会影响结果。 另外,在开始测试前,通过写入数据填充驱动器来对驱动器进行预处理,可能会得到更一致的结果。 这取决于驱动器实现,可能不会对所有驱动器都有利。

故障排除

有关 HLK 测试失败的常规故障排除,请参阅排查 Windows HLK 测试失败问题

  • 检查 WTT 跟踪

    • 查看运行修整性能测试的任务日志。

    • 打开日志文件 TrimPerf.wtl。

    • 检查可能解决问题的消息。

    • 复制 .wtl 日志文件。 这是 WTT 跟踪部分所述的 WTT 跟踪。

  • 检查启动的命令的结果

    • 浏览修整性能测试(徽标)的作业日志。

    • 打开 LaunchCommand.result。

    • 如果错误与启动某个进程相关,请确定 logman 或 tracerpt 失败的原因。

  • 未找到指标

    • 此测试依赖于启用 Storport ETW 跟踪以获取命令完成指标。 有关启用此跟踪的详细信息,请参阅“ETW 跟踪”一节。

    • 请确保当前没有其他 Storport ETW 跟踪正在日志记录。 一次只能有一个 Storport ETW 跟踪处于活动状态。

  • 如果收到错误消息“测试驱动器不支持修整”,请尝试以下解决方法:

    • 确保将 SATA SSD 的 IDENTIFY DEVICE 数据第 169 个词第 0 位设置为 1。

    • 尝试通过 DATA SET MANAGEMENT 发送修整命令。

    • 再次运行测试。

  • 如果由于读取和写入最大延迟超过 500 毫秒而导致测试失败,请尝试以下解决方法:

    • 在不发送 Trim 命令的情况下检查 IO 延迟。 尝试将延迟降低至 500 毫秒以下。

    • 在发送 Trim 命令的情况下检查 IO 延迟。 尝试将延迟降低至 500 毫秒以下。

  • 如果想要通过运行特定测试用例来调试失败,可以尝试以下命令行选项:

    • 用编号显示所有测试用例:TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LoggerDriveLetter]: /DeviceType StorConsumer /PrintTestCaseName

    • 按测试用例编号运行特定测试用例:TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LoggerDriveLetter]: /DeviceType StorConsumer /Precondition F /TestCase [TestCaseNumber]

  • 如果想要通过运行特定纯修整方案来调试失败,可以尝试以下命令行选项:

    • 二进制文件具有单元测试选项:TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LoggerDriveLetter]: /DeviceType StorConsumer /Precondition F /UnitTest T /RangeCount [NumberOfRangesPerTrim] /SizeCount [SizeOfEachRange] /SizeUnit Sector /TrimCount [NumberOfTrims]

    • /RangeCount:每个修整命令的范围数

    • /SizeCount:/SizeUnit 中每个范围的大小

    • /SizeUnit:/SizeCount 的粒度,对于 SATA SSD,粒度为扇区。

    • /TrimCount:测试用例中发送的修整数。

  • 如果想要更快地调试失败,请尝试通过添加 /Precondition F 参数来禁用预处理(将驱动器填满到 90%,时间较长),如下所示:

    • TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LoggerDriveLetter]: /DeviceType StorConsumer /Scenario Performance /DiskSize 0 /Cooldown 2 /Precondition F

有关故障排除的详细信息,请参阅排查 Device.Storage 测试问题

更多信息

作业获取受测设备的设备实例 ID,并将设备实例 ID 转换为物理驱动器号。 作业对驱动器进行分区和格式化,使其配置符合测试要求。 测试将通过一系列测试用例运行,每个测试用例都映射到要求中的项。 这些测试用例是自包含的,并按顺序运行。 可以通过使用 PrintTestCaseName 命令行选项和指定相应设备来获取测试用例的列表。 其中每个测试用例都可以使用独立模式下的测试在命令行上运行,以进行进一步的测试或调试。

修整性能测试存储一个策略表,针对每种类型的设备定义要运行哪些性能测试以及适当的指标。 选择表中的相应项后,测试将按顺序生成在该设备的表中定义的线程。 每个线程都将根据表中指定的参数执行。 每个线程的停止条件都满足后,线程将停止执行,并将分析结果以生成通过/失败日志。

测试会生成较大的性能日志,为了不影响正在测试的驱动器的性能,这些日志将写入到单独的驱动器中。 作业会自动选择驱动器,但也可以在命令行上指定驱动器

测试命令如下所示:

修整命令

所有修整命令都应在 500 毫秒内完成。

IO 命令(同时修整发送)

  • 所有读取和写入命令都在 500 毫秒内完成。

  • 98.5% 的 I/O 命令在 100 毫秒内完成。

命令语法

命令选项 说明

TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LogDriveLetter]: /DeviceType StorConsumer /Scenario Performance /DiskSize 0 /Cooldown 2

运行测试。

注意

   有关此测试二进制文件的命令行帮助,请键入 /h。

 

文件列表

文件 位置

TrimPerf.exe

<[testbinroot]>\nttest\driverstest\storage\wdk\

Etwprocessor.dll

<[taefbinroot]>\

Wex.common.dll

<[taefbinroot]>\

Wex.communication.dll

<[taefbinroot]>\

 

参数

参数名称 参数说明
WDKDeviceID 要测试的设备的实例路径。
LLU_NetAccessOnly 用于访问测试文件共享的用户帐户。
LLU_LclAdminUsr 用于运行测试的用户帐户。
Destructive (0,1) 0=被动,1=破坏性
StorageDriveNumber 存储驱动器号
QueryStorage_bus_type 存储总线类型