存储性能 CS

此测试验证存储设备的性能是否满足性能要求。

测试详细信息

   
规范
  • System.Fundamentals.StorageAndBoot.BootPerformance
平台
  • Windows 10,客户端版本 (x86)
  • Windows 10,客户端版本 (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 的下一次更新
预计运行时间(以分钟为单位) 240
类别 基准
超时(以分钟为单位) 14400
需要重启 false
需要特殊配置 false
类型 automatic

 

其他文档

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

运行测试

存储设备必须连接到相应的控制器。 该测试是非破坏性的,在测试期间不会破坏任何文件或分区。 但是,文件将写入驱动器。 尽可能减少徽标测试之外的驱动器上发生的活动量非常重要。 由于这是性能测试,因此范围外的活动可能会影响结果。

故障排除

有关 HLK 测试失败的常规故障排除,请参阅 Windows HLK 测试失败疑难解答

  • 检查 WTT 跟踪:

    • 转到“RunJob 的子作业结果 - 存储性能库”。

    • 查看“运行 StorPerf”的任务日志。

    • 打开日志文件 StorPerf.wtl。

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

  • 范围大小失败:

    • 错误消息:“请求的范围大小 (10737418240 字节)大于前提条件文件(7195066368 字节)。 徽标测试已失效。”

    • 如果请求的范围大小大于前提条件文件,则会记录错误,但测试将继续运行。 创建的 testzone.tmp 文件太小,不足以测试所需的范围。

    • 必须腾出更多空间来创建此文件,或者文件太小,并且在开始测试之前未正确删除。

    • 目前,所需的前提条件文件最小大小为 10Gb。 驱动器上还必须保留 20% 的可用空间。 前提条件阶段将写入一个文件,该文件在占用可用空间后,驱动器上将保留 20% 的总可用空间。

      总磁盘大小 * 20% + 10GB < 可用空间

  • 检查各项测试结果:

    • 浏览存储性能 CS/存储性能 USB3 的作业日志。

    • 在测试中运行的每个测试案例使用多种类型的文件,这些文件将复制回到控制器进行会审。 这些文件包含的信息超过了 WTT 日志中提供的信息。

    • .result 文件是从此项测试启动的每个进程的控制台输出。

    • .xml 文件由此项测试启动的工作负载生成。 将分析此文件来获取指标。

    • .csv 文件聚合了每个测试案例的所有分析数据。

    • .xls 文件与同名 .csv 文件的聚合内容相同,只不过它包含彩色编码的通过/失败结果,以及预期的指标限制值。

    • .result 和 .xml 文件的命名唯一标识了测试案例运行。

      • Scen = 方案。

      • 长十六进制字符串标识传递给工作负载的所有参数。

      • 三位数十六进制字符串表示线程 ID。

      • 最后一位数字是同一工作负载上与此完全相同的测试案例的运行。

    • 如果日志出现错误,请先检查与发生错误的测试案例同名的 .result 文件。 当工作负载发生错误时,.result 文件将复制到 .wtl 日志文件中,以便更轻松地访问内容。

      如果无法打开磁盘的句柄,则可能表示驱动器上没有分区,或者不是以管理员身份运行。

    • 如果存在指标方面的差异,则值将位于 .xml 文件中

    • 如果存在方差或测试案例交互方面的差异,.csv/.xls 文件将显示所有测试的结果。

  • 打开的 ETW 日志的问题:

    • 如果测试在执行期间关闭,ETW 日志可能会保持活动状态。

    • 最简单的重置方法是重启计算机。

    • 也可以手动关闭记录器:

      • 打开权限提升的命令提示符。

      • 运行 logman query -ets

      • 运行 logman stop -ets "Circular BitLocker Logger"

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

详细信息

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

存储性能测试存储一个策略表,针对每种类型的设备定义要运行哪些性能测试以及适当的指标。 选择表中的相应项后,测试将按顺序生成指定工作负载的实例(在本例中为 StorageAssessment),以测试该设备的表中指定的项。 在 StorageAssessment 完成其测试并创建结果后,存储性能测试将分析这些值并将它们与徽标要求中定义的限制进行比较,以输出通过/失败结果日志。

要测试的方案由命令行中的 DeviceTag 标志引用。 此标志是策略 xml 中的 TestcaseGroup。 该测试有几个内置方案,但允许根据需要包含自定义方案。

方案由顺序、工作负载、访问、操作、操作值、IO 大小、范围大小、运行时、队列深度、前提条件百分比和前提条件 MB 定义。 表中定义的每个方案对应于生成一次的工作负载。 为一个设备多次定义相同的方案仍只会调用一个测试案例。

指标由其类型和值定义。 指标的固有特征体现在其单位,以及限制是上限还是下限。 可为每个方案指定许多指标,这样,只会对该方案调用一个测试案例。

对于表中的每个条目都指定了一个方差条件,该条件定义了在停止测试该测试案例之前最后一组运行允许的最大方差。 对于许多条目,该条件定义为最少运行 5 次,最多运行 30 次,并且最后 5 次运行的方差必须低于 10% 才能继续测试。 测试案例将重新运行最多 30 次或满足方差要求为止。 此时,将根据最后一组运行的指标的定义属性(最小值、最大值、中间值、平均值等)评估指标。

尽管存储性能测试并不局限于一个工作负载,但策略表中定义的大多数方案都使用 StorageAssessment 工作负载来生成性能工作负载和指标。

命令用法

命令 说明

StorPerf.exe /DriveLetter [StorageDriveLetter] /DeviceTag CS_Boot

在指定的驱动器上运行 CS 测试。 对于支持 HS200 的驱动器,DeviceTag 也可以是 CS_Boot_HS200。

 

命令语法

命令选项 说明

/DriveNumber <数字>

受测设备的物理驱动器编号。

示例:/DriveNumber 0

/DriveLetter <字母>

受测设备的驱动器字母。

示例:/DriveLetter C

/DeviceTag <值>

标识要从配置 xml 文件中选择哪个 TestcaseGroup 或 ComparisonGroup 作为输入。 此参数区分大小写,用于为策略和比较 xml 文件编制索引。

示例:/DeviceTag CS_Boot

/PolicyXML <值>

策略 xml 文件名。 定义用于运行 I/O 工作负载的所有参数。 如果未提供选项,将生成默认文件。

示例:/PolicyXML CSPolicy.xml

/Compare <值><值>

要比较的两个 xml 文件。 这些必须已从此测试的上一次运行中生成。 应使用“FinalTestCasesAggregated*.xml”文件而非“AllTestCasesAggregated*.xml”文件,因为不能保证每个测试用例的迭代次数相同。

示例:/Compare FinalTestCasesAggregated_42f4.xml FinalTestCasesAggregated_a732.xml

/CompareXML <值>

比较 xml 文件名。 定义用于运行比较的所有参数。 如果未提供选项,将生成默认文件。

示例:/CompareXML CSCompare.xml

/PrintPolicy

打印策略表。

注意

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

 

文件列表

文件 位置

StorPerf.exe

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

StorageAssessment.exe

<[testbinroot]>\NTTest\driverstest\storage\wdk\StorageAssessment\

ssdtest.dat

<[testbinroot]>\NTTest\driverstest\storage\wdk\StorageAssessment\

 

参数

参数名称 参数说明
LLU_NetAccessOnly 用于访问测试文件共享的用户帐户。
LLU_LclAdminUsr 用于运行测试的用户帐户。
WDKDeviceID 要测试的设备的实例路径。
DeviceID DriveLetter 或 DriveNumber
DeviceTag
DiskDeviceObjLink 通过创建存储参数分配。
Destructive (0,1) 0= 被动,1= 破坏性
QueryHS200 查询是否有任何设备支持 HS200 模式