스토리지 성능 CS
이 테스트는 스토리지 디바이스의 성능이 성능 요구 사항을 충족하는지 확인합니다.
테스트 세부 정보
사양 |
|
플랫폼 |
|
지원되는 릴리스 |
|
예상 실행 시간(분) | 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 = 시나리오.
긴 16진수 문자열은 워크로드에 전달된 모든 매개 변수를 식별합니다.
3자리 16진수 문자열은 스레드 ID입니다.
마지막 숫자는 동일한 워크로드의 정확히 동일한 테스트 사례의 실행입니다.
로그에서 오류가 발생하는 경우 가장 먼저 확인할 위치는 오류가 발생한 테스트 사례와 동일한 이름의 .result 파일입니다. 워크로드에서 오류가 발생하면 콘텐츠에 더 쉽게 액세스할 수 있도록 .result 파일이 .wtl 로그 파일에 복사됩니다.
디스크에 대한 핸들을 열 수 없는 경우 드라이브에 파티션이 없거나 관리자 권한으로 실행되지 않을 수 있습니다.
메트릭에 대한 불일치가 있는 경우 값은 .xml 파일에 있습니다.
분산 또는 테스트 사례 상호 작용에 대한 불일치가 있는 경우 .csv/.xls 파일은 모든 테스트에 대한 결과를 표시합니다.
열려 있는 ETW 로그와 관련된 문제:
실행 중에 테스트가 닫히면 ETW 로그가 활성 상태로 유지될 수 있습니다.
다시 설정하는 가장 쉬운 방법은 컴퓨터를 다시 시작하는 것입니다.
로거를 수동으로 닫을 수도 있습니다.
관리자 권한 명령 프롬프트를 엽니다.
Run logman query -ets
Run logman stop -ets “Circular BitLocker Logger”
자세한 문제 해결 정보는 Device.Storage 테스트 문제 해결을 참조하세요.
추가 정보
작업은 테스트 중인 디바이스의 디바이스 인스턴스 ID를 가져와서 시나리오에 따라 디바이스 인스턴스 ID를 물리적 드라이브 번호 또는 드라이브 문자로 변환합니다. 시나리오에 필요한 경우 작업은 드라이브를 분할하고 포맷하여 테스트에 필요한 구성으로 가져옵니다. 테스트는 요구 사항의 항목에 각각 매핑된 일련의 테스트 사례를 통해 실행됩니다. 테스트 사례는 독립적이며 순차적으로 실행됩니다. 테스트 사례 목록은 지정된 적절한 디바이스와 함께 PrintPolicy 명령줄 옵션을 사용하여 얻을 수 있습니다. 이러한 각 테스트 사례는 추가 테스트 또는 디버깅을 위해 PolicyXML 명령줄 옵션을 사용하여 사용자 지정 정책 xml 파일과 함께 독립 실행형 모드의 테스트를 사용하여 명령줄에서 실행할 수 있습니다.
스토리지 성능 테스트는 각 유형의 디바이스에 대해 실행할 성능 테스트와 적절한 메트릭을 정의하는 정책 테이블을 저장합니다. 테이블의 적절한 항목이 선택되면 테스트는 지정된 워크로드의 인스턴스(이 경우에는 StorageAssessment)를 순차적으로 생성하여 해당 디바이스에 대해 테이블에 지정된 항목을 테스트합니다. StorageAssessment가 테스트 수행을 완료하고 결과를 만든 후에는 스토리지 성능 테스트에서 해당 값을 구문 분석하고 통과/실패 로그를 인쇄하기 위해 로고 요구 사항에 정의된 막대와 비교합니다.
테스트할 시나리오는 명령줄의 DeviceTag 플래그로 참조됩니다. 이 플래그는 정책 xml의 TestcaseGroup입니다. 이 테스트에는 몇 가지 기본 제공 시나리오가 있지만 원할 경우 사용자 지정 시나리오도 허용합니다.
시나리오는 순서, 워크로드, 액세스, 작업, 작업 값, IO 크기, 범위 크기, 런타임, 큐 깊이, 사전 조건 백분율 및 사전 조건 MB로 정의됩니다. 테이블에 정의된 각 시나리오는 한 번 생성되는 워크로드에 해당합니다. 한 디바이스에 대해 정의된 여러 개의 동일한 시나리오는 여전히 하나의 테스트 사례만 호출합니다.
메트릭은 해당 형식 및 값으로 정의됩니다. 해당 단위와 막대가 상한 또는 하한인지 여부는 메트릭에 내장되어 있습니다. 각 시나리오에 대해 많은 메트릭을 지정할 수 있으며, 결과적으로 해당 시나리오에 대해 하나의 테스트 사례만 호출됩니다.
테이블의 각 항목에는 해당 테스트 사례 테스트를 중지하기 전에 마지막 실행 집합에 허용되는 최대 분산을 정의하는 분산 조건이 지정되어 있습니다. 대부분의 항목에서 최소 5개의 실행, 최대 30개의 실행으로 정의되며, 테스트를 계속하려면 마지막 5개 실행에 대한 분산이 10% 미만이어야 합니다. 테스트 사례는 최대 30회 또는 분산 요구 사항이 충족될 때까지 다시 실행됩니다. 이 시점에 도달하면 메트릭은 마지막 실행 집합에 대해 정의된 메트릭 속성(최소, 최대, 평균, 평균 등)에 따라 평가됩니다.
스토리지 성능 테스트는 하나의 워크로드로 제한되지 않지만 정책 테이블에 정의된 대부분의 시나리오는 성능 워크로드 및 메트릭을 생성하기 위해 StorageAssessment 워크로드를 사용합니다.
명령 사용법
명령 | 설명 |
---|---|
StorPerf.exe /DriveLetter [StorageDriveLetter] /DeviceTag CS_Boot |
지정된 드라이브에서 CS 테스트를 실행합니다. 또한 DeviceTag는 HS200 지원 드라이브에 대해 CS_Boot_HS200일 수 있습니다. |
명령 구문
명령 옵션 | 설명 |
---|---|
/DriveNumber <number> |
테스트 중인 디바이스의 실제 드라이브 번호입니다. 예: /DriveNumber 0 |
/DriveLetter <letter> |
테스트 중인 디바이스의 드라이브 문자입니다. 예: /DriveLetter C |
/DeviceTag <value> |
구성 xml 파일에서 입력으로 선택할 TestcaseGroup 또는 ComparisonGroup을 식별합니다. 이 매개 변수는 대/소문자를 구분하며 정책 및 비교 xml 파일을 모두 인덱싱하는 데 사용됩니다. 예: /DeviceTag CS_Boot |
/PolicyXML <value> |
정책 xml 파일 이름입니다. I/O 워크로드를 실행하기 위한 모든 매개 변수를 정의합니다. 옵션이 제공되지 않으면 기본 파일이 생성됩니다. 예: /PolicyXML CSPolicy.xml |
/Compare <value><value> |
비교할 두 xml 파일입니다. 이러한 파일은 이 테스트의 이전 실행에서 생성되어야 합니다. 반복 횟수가 각 테스트 사례에 대해 동일하다는 보장이 없으므로 "FinalTestCasesAggregated*.xml" 파일을 "AllTestCasesAggregated*.xml" 파일 대신 사용해야 합니다. 예: /Compare FinalTestCasesAggregated_42f4.xml FinalTestCasesAggregated_a732.xml |
/CompareXML <value> |
비교 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 모드를 지원하는지 쿼리합니다. |