다음을 통해 공유


Rapidfile 테스트(시스템)

이 테스트는 지정된 볼륨 또는 파일에서 데이터 무결성 테스트를 통해 실행됩니다.

테스트 세부 정보

   
사양
  • System.Fundamentals.StorageAndBoot.BootPerformance
플랫폼
  • Windows 10, 클라이언트 버전(x86)
  • Windows 10, 클라이언트 버전(x64)
  • Windows 10, 클라이언트 버전(Arm64)
지원되는 릴리스
  • 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에 대한 다음 업데이트
예상 실행 시간(분) 30
범주 시나리오
시간 제한(분) 1800
다시 부팅 필요 false
특별한 구성 필요 false
형식 automatic

 

추가 설명서

이 기능 영역의 테스트에는 다음 항목에서 찾을 수 있는 필수 조건, 설정, 문제 해결 정보를 포함한 추가 설명서가 있을 수 있습니다.

테스트 실행

테스트를 실행하기 전에 테스트 요구 사항: WDTF 시스템 기본 테스트 필수 조건에 설명된 대로 테스트 설정을 완료합니다.

테스트를 실행하기 전에 볼륨 경로가 있어야 합니다. 파일 경로를 사용하는 경우 테스트는 쓰기 단계 중에 파일을 만들고 읽기/확인 단계에서 동일한 파일 경로를 예상합니다.

문제 해결

HLK 테스트 실패의 일반적인 문제 해결은 Windows HLK 테스트 실패 문제 해결을 참조하세요.

문제 해결 정보는 시스템 기본 테스트 문제 해결을 참조하세요.

이 테스트는 Pass 또는 Fail을 반환합니다. 테스트 세부 정보를 검토하려면 Windows HLK(Windows Hardware Lab Kit) Studio에서 테스트 로그를 검토합니다.

추가 정보

이 테스트는 파일 시스템/IO 동작과 관련된 많은 매개 변수를 허용하며 그 중 몇 가지는 아래에 설명되어 있습니다.

I/O 작업

  1. 쓰기 명령줄에 제공된 디바이스 경로에서 수행되는 기본 작업입니다.

  2. 읽기/확인 명령줄에 /V 옵션이 지정된 경우 읽기를 수행합니다. 지정된 읽기 IO가 완료되면 테스트는 읽기 데이터를 예상 데이터(명령줄에 지정된 디바이스 경로 기반)와 비교하고 읽기 데이터가 예상 데이터와 일치하지 않는 경우(데이터 손상) 사용자에게 알립니다.

I/O 모드

  1. 동기 /SYNC 명령줄 옵션을 지정하면 지정된 디바이스 경로(파일/볼륨)에서 테스트에 의해 수행된 I/O 요청이 동기적으로 수행됩니다. 테스트는 I/O가 완료될 때까지 기다린 후 다른 I/O를 실행합니다. 이 옵션은 기본 옵션이 아닙니다.

  2. 비동기 /SYNC 명령줄 옵션을 지정하지 않으면 테스트가 완료될 때까지 기다리지 않고 I/O 요청 집합을 발급하는 비동기 방식으로 I/O 요청이 수행됩니다. 각 I/O 요청의 완료는 별도로 추적됩니다. 이 모드는 테스트에서 사용되는 기본 모드입니다.

파일 크기

사용자는 /Z 명령줄 옵션을 사용하여 사용자 지정 파일 크기를 지정할 수 있습니다. 사용자는 다음 중 하나를 추가하여 다양한 크기를 지정할 수 있습니다.

  1. K - KB의 경우

  2. M - MB의 경우

  3. G - GB의 경우

  4. T - TB의 경우

보류 중인 I/O

비동기 I/O 모드를 사용하는 경우 사용자는 발급된 I/O 요청의 완료를 기다리기 전에 보류 상태로 유지할 최대 I/O 요청 수를 지정할 수 있습니다. 이 작업은 /R <번호> 명령줄 옵션을 사용하여 수행할 수 있습니다. 예를 들어 /R 1K는 테스트가 완료하지 않은 1,000개의 I/O까지 새 I/O 요청을 계속 실행한다는 것을 의미합니다.

파일 플래그

테스트는 지정된 경로에서 IO를 시작하기 전에 FS API를 사용하여 파일 핸들을 만듭니다. 또한 사용자는 다음 파일 플래그를 사용하여 다양한 IO 패턴을 만들 수 있습니다.

  1. /FD - FILE_FLAG_DELETE_ON_CLOSE 이 옵션은 파일의 마지막 핸들이 닫히면 지정된 파일을 삭제해야 한다는 각 FS에 대한 표시입니다. 테스트는 읽기/확인 작업 중에만 이 플래그를 지원합니다.

  2. /FS - FILE_FLAG_SEQUENTIAL_SCAN 파일 캐싱을 최적화하는 파일 시스템 플래그입니다. 액세스는 처음부터 끝까지 순차적으로 실행되도록 되어 있음을 보여줍니다. 해당 파일 시스템이 캐시된 I/O를 지원하지 않는 경우 이 플래그는 적용되지 않습니다.

  3. /FR - FILE_FLAG_RANDOM_ACCESS 파일 캐싱을 최적화하는 파일 시스템 플래그입니다. 액세스가 임의로 의도된 것으로 표시됩니다.

  4. /FW - FILE_FLAG_WRITE_THROUGH 사용되는 경우 쓰기 작업은 중간 캐시를 사용하지 않으며 디스크에 직접 제공됩니다.

  5. /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 == FileSize).

/EOF #

쓰기를 시작하기 전에 EOF를 푸시할 위치입니다(기본값 == 0, -1 == FileSize).

참고

   이 테스트 이진에 대한 명령줄 도움말을 보려면 /?를 입력합니다.

 

파일 목록

파일 위치

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