Rapidfile 测试(系统)
此测试对指定的卷或文件完成数据完整性测试。
测试详细信息
规范 |
|
平台 |
|
支持的版本 |
|
预计运行时间(以分钟为单位) | 30 |
类别 | 方案 |
超时(以分钟为单位) | 1800 |
需要重启 | false |
需要特殊配置 | false |
类型 | automatic |
其他文档
此功能区域中的测试可能会有其他文档,包括先决条件、设置和故障排除信息,这些内容可在以下主题中找到:
运行测试
在运行测试之前,请按照如下测试要求中所述完成测试设置:WDTF 系统基本功能测试先决条件。
在运行测试之前,卷路径必须存在。 如果使用文件路径,则测试将在写入阶段/步骤创建文件,并要求读取/验证阶段具有相同的文件路径。
故障排除
有关 HLK 测试失败的常规故障排除,请参阅排查 Windows HLK 测试失败问题。
有关故障排除信息,请参阅排查系统基础功能测试问题。
此测试返回“通过”或“失败”。 要查看测试详细信息,请查看 Windows Hardware Lab Kit (Windows HLK) Studio 中的测试日志。
更多信息
此测试接受许多与文件系统/IO 行为相关的参数,下面将介绍其中一些参数:
I/O 操作
写入:这是在命令行中提供的设备路径上执行的默认操作。
读取/验证:在命令行中指定 /V 选项时,执行读取。 在给定的读取 IO 完成后,此测试会将读取的数据与预期数据进行比较(根据命令行中给定的设备路径),并在读取的数据与预期数据不匹配(数据损坏)时通知用户。
I/O 模式
同步:如果指定了 /SYNC 命令行选项,则测试在给定设备路径(文件/卷)上执行的 I/O 请求会同步完成。 测试将等待一个 I/O 完成,然后再发出另一个 I/O。 这不是默认选项。
异步:如果未指定 /SYNC 命令行选项,则会以异步方式执行 I/O 请求,在这种情况下,测试会发出一组 I/O 请求,而不等待它们完成。 测试会分别跟踪各个 I/O 请求的完成情况。 这是测试使用的默认模式。
文件大小
用户可以使用 /Z 命令行选项来指定自定义文件大小。 用户可以附加以下某个选项来指定各种大小:
K - 表示 KB
M - 表示 MB
G - 表示 GB
T - 表示 TB
挂起 I/O
使用异步 I/O 模式时,用户可以指定在等待已发出的 I/O 请求完成之前保持挂起状态的最大 I/O 请求数。 这可以使用 /R <number> 命令行选项来完成。 例如,/R 1K 表示测试会一直发出新的 I/O 请求,直到有 1000 个未完成的 I/O 为止。
文件标志
在给定路径上启动 IO 之前,测试会使用 FS API 来创建文件句柄。 此外,用户可以使用以下文件标志来创建各种 IO 模式:
/FD - FILE_FLAG_DELETE_ON_CLOSE:此选项是对相应 FS 的指示,一旦文件上的最后一个句柄关闭,就必须删除给定的文件。 测试仅在读取/验证操作期间支持此标志。
/FS - FILE_FLAG_SEQUENTIAL_SCAN:用于优化文件缓存的文件系统标志。 此标志指明访问是从头到尾按顺序进行的。 如果相应的文件系统不支持缓存 I/O,此标志将不起作用。
/FR - FILE_FLAG_RANDOM_ACCESS:用于优化文件缓存的文件系统标志。 此标志指明访问是随机的。
/FW - FILE_FLAG_WRITE_THROUGH:使用此标志时,写入操作不会使用任何中间缓存,而是直接提供给磁盘。
/FU - FILE_FLAG_NO_BUFFERING:使用此标志时,它向文件系统指明正在打开的文件或设备没有为数据读取和写入启用系统缓存。
块大小
此测试使用提供的块大小执行给定 I/O。 默认的块大小值为 64K。 用户可以使用 /B 命令行选项指定其他块大小。
例如,/B 1M 表示用户想要执行大小为 1MB 的单个 I/O。
调试中断
如果用户将 Windows 调试程序连接到系统来运行测试,则可以使用 /D 命令行选项指示测试在发生预期错误时中断到调试程序(并在某种程度上将系统冻结在给定状态)。 此测试将此用作提示,并在执行写入和读取/验证操作期间收到预期错误,以及执行读取/验证操作期间读取的数据与预期数据不匹配时中断到调试程序。
命令用法
命令 | 说明 |
---|---|
rapidfile.exe test.dat /D /Z [FILE_SIZE] /R 16k |
异步写入 |
rapidfile.exe test.dat /V /D /FD /Z [FILE_SIZE] /R 16k |
验证异步读取 |
rapidfile.exe test.dat /D /Z [FILE_SIZE] /SYNC |
同步写入 |
rapidfile.exe test.dat /V /D /FD /Z [FILE_SIZE] /SYNC |
验证同步读取 |
rapidfile.exe test.dat /D /Z [FILE_SIZE] /FU /R 16K |
异步无缓冲写入 |
rapidfile.exe test.dat /FU /V /D /FD /Z [FILE_SIZE] /R 16K |
验证异步无缓冲读取 |
rapidfile.exe test.dat /D /Z [FILE_SIZE] /FR /R 16K |
随机访问异步写入 |
rapidfile.exe test.dat /FR /V /D /FD /Z [FILE_SIZE] /R 16K |
验证随机访问异步读取 |
命令语法
命令选项 | 说明 |
---|---|
rapidfile.exe |
下面列出了此测试的命令行选项。 |
/? |
显示帮助。 |
/PERF |
将结果记录到文件系统性能数据库 |
/A |
附加到现有文件。 默认值:不附加 |
/B # |
块大小。 可以附加 k、m、g 或 t。 默认值:64k |
/C |
输出校验和。 退出时也会将校验和作为返回值返回。 |
/CM |
使用默认压缩格式压缩文件。 |
/D |
如果发生意外错误,则中断到调试程序。 |
/E # |
在读取/写入问题之间睡眠 # 毫秒。 |
/FD |
FILE_FLAG_DELETE_ON_CLOSE(仅对读取/验证操作有效)。 |
/FS |
FILE_FLAG_SEQUENTIAL_SCAN |
/FW |
FILE_FLAG_WRITE_THROUGH |
/FU |
FILE_FLAG_NO_BUFFERING |
/FR |
FILE_FLAG_RANDOM_ACCESS |
/H |
创建磁盘句柄或卷设备句柄而不是文件句柄。 |
/I |
使用空闲优先级。 |
/L # |
每隔 # 秒记录一次统计信息。 默认值:60 |
/M # |
运行测试的分钟数。 这会先运行写入操作,然后再运行读取/验证操作。 |
/N |
为每个 I/O 使用新句柄。 |
/NL |
不将任何内容记录到调试程序。 |
/O |
覆盖现有文件。 |
/P # |
模式大小。 可以附加 k、m、g 或 t。 默认值:4m |
/R # |
挂起请求的最大数量。 |
/RT # |
在出错时重试时的超时间隔(毫秒)。 其他格式为 #s、#m、#h,分别表示秒、分钟和小时。 |
/S |
对 I/O 操作使用简单模式。 |
/SO |
磁盘或卷设备的起始偏移量。 |
/SP |
在写入文件之前,使文件稀疏。 |
/SYNC |
同步写入到文件(不能指定 /TC /R)。 |
/TC # |
已完成线程数。 默认值:1 表示创建,4 表示验证 |
/TQ # |
排队线程数。 默认值:1 |
/V |
通过将文件读回来进行验证。 默认值:不验证 |
/X |
创建后刷新文件。 |
/Z # |
测试文件的大小。 可以附加 k、m、g 或 t。 默认值:10m |
/VDL # |
开始写入之前将 VDL 推送到的位置(默认值 = 0,-1 = 文件大小)。 |
/EOF # |
开始写入之前将 EOF 推送到的位置(默认值 = 0,-1 = 文件大小)。 |
注意
有关此测试二进制文件的命令行帮助,请键入 /?。
文件列表
文件 | 位置 |
---|---|
rapidfile.exe |
<testbinroot>\NTTEST\Basetest\core_file_services\Shared_Tests\Wdk\ |
ntlog.dll |
<osbinroot>\NTTest\CommonTest\NtLog\ |
ntlogger.ini |
<osbinroot>\NTTest\CommonTest\NtLog\ |
dtresslog.dll |
<testbinroot>\NTTest\basetest\core_file_services\shared_libs\ |
参数
参数名称 | 参数说明 |
---|---|
LLU_NetAccessOnly | |
FILE_SIZE |