DirectStorage 성능 분석

PIX 타이밍 캡처권한 부여 필요에는 타이틀의 DirectStorage 사용에 대한 데이터를 수집하는 옵션이 있습니다. 타이밍 캡처는 각 IO 작업이 큐에 추가된 시기, 작업 일괄 처리가 NVMe에 제출된 시기 및 해당 작업이 완료된 시기를 보여 줍니다. 타이밍 캡처의 DirectStorage 데이터를 사용하여 DirectStorage 큐를 통해 이루어진 NVMe IO 요청의 대기 시간을 분석할 수 있습니다. PIX를 사용하면 다음을 포함하여 DirectStorage 요청과 관련된 대기 시간의 다양한 측면을 분석할 수 있습니다.

  • 큐 추가와 제출 사이의 시간
  • 제출과 펜스 신호 사이의 시간
  • 여러 개의 동시 큐 제출 IO 요청으로 인한 경합

타이틀이 개별 자산을 복합 보관 파일에 패키지하는 경우 매핑 파일을 제공하는 경우 PIX는 복합 파일 내에서 액세스된 자산을 표시할 수 있습니다.

DirectStorage 데이터 캡처

DirectStorage 데이터를 캡처하려면 다음 그림과 같이 타이밍 캡처 시작 시 파일 액세스 확인란을 선택합니다.

PIX 파일 활동 캡처 확인란

파일 액세스 검사 상자에서는 PIX가 와 같은 ReadFileWin32 API를 사용하여 만든 파일 액세스를 수집하고 분석합니다. PIX를 사용하여 Win32 API를 사용하여 파일 액세스를 최적화하는 방법에 대한 자세한 내용은 Win32 파일 IO 성능 분석을 참조하세요권한 부여 필요.

타이밍 캡처에서 DirectStorage 데이터 분석

타임라인 시각화

PIX는 타이틀이 만드는 모든 DirectStorage 큐에 대해 타임라인에 하나의 레인을 만들고 각 큐를 이름으로 식별합니다.

각 DirectStorage 레인은 두 개의 하위 레인으로 구성됩니다. 위쪽 하위 레인에는 특정 Direct Storage API 가 호출된 시점을 나타내는 표식이 포함되어 있습니다. 타임라인에 표시된 API 호출은 큐 추가 또는 제출입니다. 큐 추가는 파일 IO 또는 상태 큐 추가일 수 있습니다. 아래 하위 레인에는 다음 그림과 같이 NVMe가 제출된 IO 요청의 일괄 처리(또는 일괄 처리)를 처리하는 시간 영역을 나타내는 블록이 포함되어 있습니다.

DirectStorage 하위 레인

마커의 색은 다음 표와 같이 생성된 API 호출을 나타냅니다.

표시 설명
큐 추가 파일 IO에 대한 검은색 마커 큐 추가 파일 IO 요청
큐 추가 상태에 대한 녹색 마커 큐 추가 상태
제출에 대한 빨간색 마커 제출

타임라인은 NVMe에 제출된 각 작업 일괄 처리의 대기 시간을 보여줍니다. 이 대기 시간을 보려면 제출 표식과 일괄 처리 처리를 나타내는 상자의 끝 사이의 시간 차이를 확인합니다. NVMe에 사용 가능한 처리 용량이 있는 경우 배치가 제출될 때 배치 처리가 시작됩니다. 이 경우 하위 하위 레인에 있는 상자의 시작은 맨 위 하위 레인의 제출 표시와 일치합니다. 다음 그림에서는 몇 가지 IO 요청이 큐에 추가되고, 상태가 큐에 추가되고, 이후 배치가 제출되는 일반적인 흐름을 보여줍니다. 작업을 나타내는 상자가 닫히면 배치 처리가 완료됩니다.

PIX DirectStorage 공통 흐름

처리 용량에 따라 NVMe가 제출될 때 항상 일괄 처리를 처리할 수는 없습니다. NVMe가 완전히 로드된 경우 이전에 제출된 일괄 처리가 완료될 때까지 지정된 일괄 처리를 처리할 수 없습니다. 다음 그림에서는 제출된 후 일정 시간 동안 처리된 일괄 처리의 예를 보여줍니다.

PIX DirectStorage 지연 처리

NVMe에서 여러 큐로부터 동시 요청을 인터리빙하여 이들이 병렬로 처리됩니다. 이 병렬 처리는 여러 큐에 일괄 처리가 동시에 있는 경우 타임라인에 표시됩니다. 다음 그림에서는 예제를 보여줍니다. 특히 우선 순위가 높은 큐에서 처리가 이루어지는 경우 병렬 처리로 인해 배치 처리의 대기 시간이 길어질 수 있습니다.

PIX DirectStorage 병렬 처리

선택

타임라인에서 개별 API 호출 및 NVMe 작업 일괄 처리를 선택할 수 있습니다. 항목을 선택하면 다음 그림과 같이 요소 세부 정보 보기에 선택 항목에 대한 정보가 표시됩니다. 일괄 처리를 선택하면 요소 세부 정보에는 작업을 실행한 큐, 완료하는 데 걸린 시간 및 일괄 처리에 포함된 파일 IO 작업 수와 같은 정보가 표시됩니다. API 마커를 선택하면 요소 세부 정보에는 작업이 속한 일괄 처리, API 호출을 수행한 스레드 및 실행된 큐와 같은 정보가 표시됩니다. 파일 IO 큐에 대해 읽기 작업의 파일, 오프셋 및 크기도 표시합니다.

PIX DirectStorage 요소 세부 정보

타임라인에서 일괄 처리 또는 API 호출을 선택하면 선택 영역과 연결된 다른 요소가 강조 표시됩니다. 이 선택 동작을 통해 배치와 연결된 API 호출 또는 그 반대를 쉽게 확인할 수 있습니다. 예를 들어 다음 그림에서는 선택한 파일의 큐 추가와 연결된 배치가 강조 표시됩니다.

PIX DirectStorage 타임라인 선택 강조 표시됨

범위별 세부 정보

타임라인에서 시간 범위를 선택하면 범위 세부 정보 보기에 선택한 시간 범위에 대한 모든 레인에 포함된 데이터가 표시됩니다. 선택한 시간 범위에 대한 모든 DirectStorage 큐의 데이터를 보려면 표시할 항목 드롭다운 목록의 DS 이벤트 옵션을 사용합니다. 보기 왼쪽의 선택기 패널을 사용하여 범위 세부 정보에 표시된 데이터를 큐의 하위 집합으로 필터링합니다.

범위 세부 정보에는 다음 그림과 같이 선택한 시간 범위에 속하는 모든 일괄 처리에 대해 하나의 행이 포함됩니다. 일괄 처리를 확장하여 일괄 처리 내의 개별 작업을 볼 수 있습니다. 열 제목을 클릭하면 해당 열에 따라 보기의 데이터가 정렬됩니다. 열 정렬의 일반적인 용도는 실행 시간기간을 기준으로 정렬하여 어떤 작업이 가장 오래 걸리는지 확인하는 것입니다.

PIX DirectStorage 범위별 세부 정보

DirectStorage 레인 구성

다음 그림과 같이 레인 선택기 패널과 레인 구성 목록 상자를 사용하여 DirectStorage 큐 레인의 모양을 사용자 지정합니다. 레인 순서를 변경하고, 특정 레인을 표시하거나 숨기고, 색과 표식 높이를 조정하고, 다른 옵션을 변경할 수 있습니다.

PIX DirectStorage 레인 선택기 및 레인 구성

보관 파일 내에서 발생하는 파일 액세스 분석

타이틀이 개별 자산을 복합 보관 파일에 패키지하는 경우 PIX는 매핑 파일을 사용하여 복합 파일 내에서 액세스한 자산을 표시할 수 있습니다. 자세한 내용은 보관 파일 내에서 발생하는 파일 액세스 분석을 참조하세요권한 부여 필요.

참조 API 설명서

참고 항목

DirectStorage 개요

DirectStorage 및 Win32 파일 IO 성능 분석권한 부여 필요

PIX권한 부여 필요