NVMe 할당 취소 성능 테스트(LOGO)
이 테스트는 NVMe(비휘발성 메모리 익스프레스) 컨트롤러 드라이브에 대한 할당 취소 명령의 성능을 평가합니다.
테스트 세부 정보
사양 |
|
플랫폼 |
|
지원되는 릴리스 |
|
예상 실행 시간(분) | 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 | 스토리지 드라이브 번호입니다. |