修整性能测试
此测试将评估修整命令的性能。
测试详细信息
规范 |
|
平台 |
|
支持的版本 |
|
预计运行时间(以分钟为单位) | 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 | 存储总线类型 |