다음을 통해 공유


NVMe 할당 취소 성능 테스트(LOGO)

이 테스트는 NVMe(비휘발성 메모리 익스프레스) 컨트롤러 드라이브에 대한 할당 취소 명령의 성능을 평가합니다.

테스트 세부 정보

   
사양
  • Device.Storage.ControllerDrive.NVMe.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에 대한 다음 업데이트
예상 실행 시간(분) 2
범주 벤치마크
시간 제한(분) 120
다시 부팅 필요 false
특별한 구성 필요 false
형식 automatic

 

추가 설명서

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

테스트 실행

테스트를 실행하기 전에 테스트 요구 사항: 하드 디스크 드라이브 테스트 필수 조건에 설명된 대로 테스트 설정을 완료합니다.

이 테스트를 수행하려면 NVMe 컨트롤러 드라이브가 연결되어야 합니다. 드라이브는 다음 요구 사항도 충족해야 합니다.

  • 드라이브는 비부팅 드라이브여야 합니다. 테스트는 파괴적입니다. 테스트를 위해 올바른 파티션과 포맷으로 디스크를 준비합니다.

  • 드라이브는 Deallocate(Trim/Unmap/Discard) 명령을 지원해야 합니다. 테스트는 DATA SET MANAGEMENT Trim 명령을 사용하여 Deallocate 명령을 전송합니다.

  • 로거 드라이브로 사용할 수 있는 별도의 드라이브가 있는지 확인합니다. 테스트는 자동으로 로깅 드라이브를 선택합니다. 로고 테스트 이외의 드라이브에서 발생하는 작업의 양을 최소화하는 것이 중요합니다. 성능 테스트이기 때문에 외부 작업이 결과에 영향을 줄 수 있습니다.

문제 해결

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

자세한 문제 해결 정보는 Device.Storage 테스트 문제 해결을 참조하세요.

  • WTT 추적 확인

    • Trim 성능 테스트 실행작업 로그를 봅니다.

    • 로그 파일 TrimPerf.wtl을 엽니다.

    • 문제를 해결할 수 있는 메시지를 확인합니다.

    • .wtl 로그 파일을 복사합니다. 이는 WTT 추적 섹션에 설명된 WTT 추적입니다.

  • 실행된 명령 결과 확인

    • 트림 성능 테스트(로고)의 작업 로그를 찾아봅니다.

    • LaunchCommand.result를 엽니다.

    • 오류가 프로세스 시작과 관련된 경우 logman 또는 tracerpt가 실패한 이유를 확인합니다.

  • 메트릭을 찾을 수 없음

    • 테스트는 명령 완료 메트릭을 가져오기 위해 Storport ETW 추적을 사용하도록 설정했는지 여부에 따라 다릅니다. 이 추적을 사용하도록 설정하는 방법에 대한 자세한 내용은 ETW 추적 섹션을 참조하세요.

    • 현재 로깅 중인 다른 Storport ETW 추적이 없는지 확인합니다. 한 번에 하나의 Storport ETW 추적만 활성화할 수 있습니다.

  • “테스트 드라이브가 트림을 지원하지 않습니다” 오류 메시지가 표시되면 다음을 시도합니다.

    • NVMe 드라이브를 확인하여 VPD B2h 페이지의 LBPU 비트가 1로 설정되어 있는지 확인합니다.

    • DATA SET MANAGEMENT의 Trim 명령을 통해 Deallocate 명령을 보내 보세요.

    • 테스트를 다시 실행합니다.

  • 읽기 및 쓰기 최대 대기 시간이 500밀리초를 초과하여 테스트가 실패한 경우 다음을 시도합니다.

    • Deallocate 없이 IO 대기 시간을 확인합니다. 대기 시간을 500밀리초 미만으로 낮추세요.

    • Deallocate가 있는 상태에서 IO 대기 시간을 확인합니다. 대기 시간을 500밀리초 미만으로 낮추세요.

  • 특정 테스트 사례를 실행하여 실패를 디버그하려면 다음 명령줄 옵션을 시도할 수 있습니다.

    • 모든 테스트 사례를 숫자로 표시: TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LoggerDriveLetter]: /DeviceType NVMe /Scenario Performance /PrintTestCaseName

    • 테스트 사례 번호로 특정 테스트 사례 실행: TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LoggerDriveLetter]: /DeviceType NVMe /Scenario Performance /Precondition F /TestCase [TestCaseNumber]

  • 특정 순수 Trim 시나리오를 실행하여 오류를 디버그하려는 경우 다음 명령줄 옵션을 시도할 수 있습니다.

    • 이진에는 다음과 같은 단위 테스트 옵션이 있습니다. TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LoggerDriveLetter]: /DeviceType NVMe /Scenario Performance /Precondition F /UnitTest T /RangeCount [NumberOfRangesPerDeallocateCommand] /SizeCount [SizeOfEachRange] /SizeUnit [Slab | Sector] /TrimCount [NumberOfTrims]

    • /RangeCount: deallocate 명령당 범위 수

    • /SizeCount: /SizeUnit에 있는 각 범위의 크기

    • /SizeUnit: /SizeCount의 세분성, 옵션은 Slab(최적 매핑 해제 세분성) 및 Sector(LBA)입니다.

    • /TrimCount: 테스트 사례에서 전송된 deallocate 명령의 수.

  • 오류를 더 빨리 디버그하려면 다음과 같이 /Precondition F 매개 변수를 추가하여 사전 조건을 사용하지 않도록 설정합니다(드라이브를 90%까지 채우고 시간이 오래 걸림).

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

추가 정보

테스트는 다음을 수행합니다.

Deallocate 명령

  • 모든 deallocate 명령은 500밀리초 이내에 완료되어야 합니다.

IO 명령(다른 지역에서 동시에 할당 취소 전송)

  • 모든 읽기 및 쓰기 명령은 500밀리초 이내에 완료됩니다.

  • I/O 명령의 98.5%가 100밀리초 이내에 완료됩니다.

명령 구문

명령 설명

TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LogDriveLetter]: /DeviceType [DeviceType] /Scenario [Scenario] /DiskSize [DiskSize] /Cooldown [Cooldown]

테스트를 실행합니다.

참고

   이 테스트 이진에 대한 명령줄 도움말을 보려면 /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 스토리지 드라이브 번호입니다.