적용 대상: ✔️ Linux VM ✔️ Windows VM
성능 진단은 Azure 가상 머신의 성능 문제를 식별하고 해결하는 데 도움이 됩니다. 이 문서에서는 성능 진단을 설치하고 Azure VM(가상 머신)에서 주문형 보고서를 실행하는 방법을 설명합니다.
필수 조건
- Windows에서 연속적이고 주문형 진단을 실행하려면 .NET SDK 버전 4.5 이상이 설치되어 있어야 합니다.
비고
클래식 VM에 성능 진단을 설치하려면 Azure Performance Diagnostics VM 확장을 참조하세요.
지원되는 운영 체제
현재 주문형 진단과 연속 진단 모두에 지원되는 운영 체제는 다음과 같습니다.
- 윈도우 서버 2022
- Windows Server 2019
- Windows Server 2016
- 윈도우 서버 2012 R2
- Windows Server 2012
- 윈도우 11
- 윈도우 10
필요한 권한
성능 진단을 실행하고 보고서를 보려면 다음 표의 사용 권한이 필요합니다.
| 조치 | 인증 유형 | 필요한 권한 |
|---|---|---|
| Performance Diagnostics 실행 | 스토리지 계정 액세스 키 | VM의 소유자 역할 및 스토리지 계정에 대한 Microsoft.Storage/storageAccounts/listkeys/action 권한을 포함하는 Azure 역할입니다. |
| Performance Diagnostics 실행 | 관리 ID(시스템 할당 및 사용자 할당) | VM의 소유자 역할 및 스토리지 계정에 대한 Microsoft.Storage/storageAccounts/providers/roleAssignments/쓰기 권한을 포함하는 Azure 역할입니다. |
| Performance Diagnostics 보기 | 스토리지 계정 액세스 키 | 스토리지 계정에 대한 Microsoft.Storage/storageAccounts/listkeys/action 권한 또는 스토리지 계정의 Storage 테이블 데이터 판독기 역할을 포함하는 Azure 역할입니다. |
| Performance Diagnostics 보기 | 관리 ID(시스템 할당 및 사용자 할당) | 스토리지 계정의 스토리지 테이블 데이터 판독기 역할을 포함하는 Azure 역할입니다. |
| Performance Diagnostics 보고서 다운로드 | 모두 | 스토리지 계정에서 스토리지 테이블 데이터 판독기 역할 및 Storage Blob 데이터 판독기 역할을 포함하는 Azure 역할입니다. |
Azure Storage의 기본 제공 역할에 대한 자세한 내용은 스토리지용 Azure 기본 제공 역할을 참조하세요. 스토리지 계정 설정에 대한 자세한 내용은 스토리지 계정 및 저장된 데이터 보기 및 관리를 참조하세요.
VM에 SQL Server 인스턴스가 설치되어 있는 경우 PerfInsights는 NT AUTHORITY\SYSTEM 계정을 사용하여 SQL Server 인스턴스에 액세스하여 구성 정보를 수집하고 규칙을 실행합니다. NT AUTHORITY\SYSTEM 계정에는 각 인스턴스에 대한 서버 상태 보기 권한과 SQL 연결 권한이 부여되어야 합니다. 그렇지 않으면 PerfInsights가 SQL Server에 연결할 수 없고 PerfInsights 보고서에 SQL Server 관련 정보가 표시되지 않습니다.
VM에 성능 진단 설치
Performance Diagnostics는 PerfInsights라는 진단 도구를 실행하는 VM 확장을 설치합니다. PerfInsights는 Windows와 Linux에서 모두 사용할 수 있습니다.
Azure Portal의 여러 위치에서 성능 진단 도구를 설치할 수 있습니다.
가상 머신의 메뉴에서 메뉴의 도움말 섹션에서 성능 진단을 선택합니다. Performance Diagnostics 사용 선택
가상 머신의 개요 페이지에서. 모니터링 탭을 선택한 다음, 성능 진단 설치 타일의 맨 아래에 있는 설치를 선택합니다.
VM 인사이트에서. 모니터 메뉴의 인사이트 섹션에서 가상 머신을 선택하고 진단을 실행할 VM을 선택합니다. Performance Diagnostics 설치 타일 하단에서 설치를 선택합니다.
각 옵션은 도구를 설치하기 위해 적용 을 선택하기 전에 구성해야 하는 동일한 옵션 집합을 표시합니다. 이 옵션에 대한 자세한 내용은 다음 표를 참조하십시오.
| 옵션 | 설명 |
|---|---|
| 연속 진단 사용 | 성능 문제를 신속하게 해결하기 위해 5초마다 데이터를 수집하고 5분마다 업데이트를 업로드하여 높은 리소스 사용량에 대한 실행 가능한 지속적인 인사이트를 얻습니다. 원하는 스토리지 계정에 인사이트를 저장합니다. 스토리지 계정은 사용자가 구성할 수 있는 계정 보존 정책에 따라 인사이트를 보존하며, 이를 통해 데이터 수명 주기를 효과적으로 관리할 수 있습니다. 언제든지 연속 진단을 사용하지 않도록 설정할 수 있습니다. |
| 주문형 진단 실행 | 설치가 완료되면 주문형 보고서를 실행합니다. 나중에 이러한 보고서를 실행하도록 선택할 수 있습니다. 주문형 진단에서 보고서 목록 및 해당 설명을 참조하세요. |
| 스토리지 계정 | 여러 VM에 단일 계정을 사용하려는 경우 스토리지 계정을 지정합니다. 그렇지 않으면 기본 진단 스토리지 계정을 사용하거나 새 스토리지 계정을 만듭니다. 스토리지 계정 및 저장된 데이터 보기 및 관리를 참조하세요. |
| 인증 방법 | 인증 방법에 설명된 대로 사용할 인증 방법입니다. |
성능 진단이 설치되기 시작하면 알림이 표시되고 완료되면 두 번째 알림이 표시됩니다. 일반적으로 1분 정도 걸립니다. 주문형 진단 실행 옵션을 선택한 경우 선택한 성능 분석 시나리오가 지정된 기간 동안 실행됩니다.
독립 실행형 모드로 설치
독립 실행형 모드를 사용하면 VM에 확장을 설치하지 않고 성능 진단을 실행할 수 있습니다. 이 모드는 비 Azure VM의 성능 문제를 해결하거나 VM 구성을 수정하지 않고 진단을 실행하려는 경우에 유용합니다. 독립 실행형 모드에서 PerfInsights를 실행하려면 VM에 대화형으로 로그인해야 합니다.
PerfInsights.zip을 다운로드합니다.
PerfInsights.zip 파일의 차단을 해제합니다. 이렇게 하려면 PerfInsights.zip 파일을 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 일반 탭에서 차단 해제를 선택한 다음 확인을 선택합니다. 이 작업을 수행하면 도구가 다른 보안 메시지 없이 실행됩니다.
압축된 PerfInsights.zip 파일을 임시 드라이브로 확장합니다.
주문형 보고서
다음 섹션에서는 성능 진단에서 사용할 수 있는 주문형 보고서에 대해 설명합니다.
Windows 컴퓨터에서 다음 주문형 보고서를 실행할 수 있습니다.
빠른 분석
이 시나리오에서는 다음을 포함하여 디스크 구성 및 기타 중요한 정보를 수집합니다.
- 이벤트 로그
- 모든 들어오는 연결과 나가는 연결에 대한 네트워크 상태
- 네트워크 및 방화벽 구성 설정
- 현재 시스템에서 실행 중인 모든 애플리케이션의 작업 목록
- Microsoft SQL Server 데이터베이스 구성 설정(VM이 SQL Server를 실행하는 경우)
- 스토리지 안정성 카운터
- 중요한 Windows 핫픽스
- 설치된 필터 드라이버
이 모음은 시스템에 영향을 주지 않아야 하는 수동적인 정보 모음입니다.
비고
이 시나리오는 다음과 같은 각각의 시나리오에 자동으로 포함됩니다.
벤치마킹
이 시나리오에서는 VM에 연결된 모든 드라이브에 대해 Diskspd 벤치마크 테스트(IOPS 및 MBPS)를 실행합니다.
비고
이 시나리오는 시스템에 영향을 줄 수 있으므로 라이브 프로덕션 시스템에서 실행하면 안됩니다. 필요한 경우 문제가 발생하지 않도록 전용 유지 관리 창에서 이 시나리오를 실행합니다. 추적 또는 벤치마크 테스트로 인해 워크로드가 증가하면 VM 성능이 저하될 수 있습니다.
성능 분석
이 시나리오에서는 에 지정된 카운터를 사용하여 성능 카운터 추적을 RuleEngineConfig.json file실행합니다. VM이 SQL Server를 실행하는 서버로 식별되면 성능 카운터 추적을 실행합니다. 파일에 있는 RuleEngineConfig.json 카운터를 사용하여 이 작업을 수행합니다. 이 시나리오에는 성능 진단 데이터도 포함됩니다.
Azure Files 분석
이 시나리오에서는 네트워크 추적과 함께 특별한 성능 카운터 캡처를 실행합니다. 캡처에는 모든 SMB(Server Message Block) 클라이언트 공유 카운터가 포함됩니다. 다음은 캡처에 포함되는 몇 가지 주요 SMB 클라이언트 공유 성능 카운터입니다.
| 유형 | SMB 클라이언트 공유 카운터 |
|---|---|
| IOPS | 데이터 요청/초 |
| 읽기 요청 수/초 | |
| 쓰기 요청/초 | |
| 지연 | 평균 초/데이터 요청 |
| 평균 초/읽기 | |
| 평균 초/쓰기 | |
| IO 크기 | 평균 바이트 수/데이터 요청 |
| 평균 바이트 수/읽기 | |
| 평균 바이트 수/쓰기 | |
| 처리량 | 데이터 바이트/초 |
| 읽기 바이트/초 | |
| 쓰기 바이트/초 | |
| 큐 길이 | 평균 읽기 큐 길이 |
| 평균 쓰기 큐 길이 | |
| 평균 데이터 큐 길이 |
고급 성능 분석
고급 성능 분석을 실행할 때는 병렬로 실행되도록 추적을 선택합니다. 원한다면 전체(성능 카운터, Xperf, 네트워크 및 StorPort)를 실행할 수 있습니다.
비고
이 시나리오는 시스템에 영향을 줄 수 있으므로 라이브 프로덕션 시스템에서 실행하면 안됩니다. 필요한 경우 문제가 발생하지 않도록 전용 유지 관리 창에서 이 시나리오를 실행합니다. 추적 또는 벤치마크 테스트로 인해 워크로드가 증가하면 VM 성능이 저하될 수 있습니다.
보고서 실행
연속 진단 실행
연속 진단을 수동으로 실행할 필요가 없습니다. 성능 진단 확장은 VM에서 지속적으로 실행되고 결과를 업로드합니다. 연속 진단을 사용하도록 설정하고 사용하지 않도록 설정하는 방법에 대한 지침은 Azure 가상 머신에 성능 진단 설치 를 참조하세요.
주문형 진단 실행
주문형 진단을 실행하는 방법에는 두 가지가 있습니다.
VM에 성능 진단 확장을 설치한 경우 Azure Portal에서 진단을 실행할 수 있습니다. VM 메뉴의 성능 진단 옵션에서 진단 실행을 선택한 다음 실행할 보고서와 해당 기간을 선택합니다.
경고
가능한 성능 영향
성능 진단을 실행할 때 VM에 영향을 미칠 수 있는 다음과 같은 잠재적인 성능에 유의하세요.
- Xperf 또는 Diskspd를 사용하도록 구성된 벤치마킹 시나리오 또는 “고급 성능 분석” 시나리오를 사용하는 경우 이 도구로 인해 VM의 성능이 저하될 수 있습니다. 이러한 시나리오는 실제 프로덕션 환경에서 실행되어서는 안 됩니다.
- DiskSpd를 사용하도록 구성된 벤치마킹 시나리오 또는 “고급 성능 분석” 시나리오의 경우, 다른 백그라운드 작업이 I/O 워크로드를 방해하지 않도록 합니다.
- 기본적으로 이 도구는 임시 스토리지 드라이브를 사용하여 데이터를 수집합니다. 추적을 더 오랫동안 사용하도록 유지하면 수집되는 데이터의 양이 적절할 수 있습니다. 이렇게 하면 임시 디스크의 공간 가용성을 낮출 수 있으므로 이 드라이브를 사용하는 모든 애플리케이션에 영향을 미칠 수 있습니다.
독립 실행형 버전의 PerfInsights를 설치한 경우 명령줄에서 주문형 진단을 실행할 수 있습니다.
관리자 권한으로 Windows 명령 프롬프트를 연 다음, PerfInsights.exe를 실행하여 사용 가능한 명령줄 매개 변수를 표시합니다.
cd <the path of PerfInsights folder>
PerfInsights
PerfInsights 시나리오를 실행하기 위한 기본 구문은 다음과 같습니다.
PerfInsights /run <ScenarioName> [AdditionalOptions]
/list 명령을 사용하여 지원되는 시나리오 목록을 봅니다.
PerfInsights /list
다음은 다양한 문제 해결 시나리오를 실행하는 예입니다.
- 5분 동안 성능 분석 시나리오를 실행합니다.
PerfInsights /run vmslow /d 300 /AcceptDisclaimerAndShareDiagnostics
- Xperf 및 성능 카운터 추적을 사용하여 5분 동안 고급 시나리오를 실행합니다.
PerfInsights /run advanced xp /d 300 /AcceptDisclaimerAndShareDiagnostics
- 벤치마크 시나리오를 5분 동안 실행합니다.
PerfInsights /run benchmark /d 300 /AcceptDisclaimerAndShareDiagnostics
- 5분 동안 성능 분석 시나리오를 실행하고 결과 zip 파일을 스토리지 계정에 업로드합니다.
PerfInsights /run vmslow /d 300 /AcceptDisclaimerAndShareDiagnostics /sa <StorageAccountName> /sk <StorageAccountKey>
시나리오를 실행하기 전에 PerfInsights는 진단 정보를 공유하고 EULA에 동의하는 데 동의하라는 메시지를 표시합니다. 이러한 프롬프트를 건너뛰려면 /AcceptDisclaimerAndShareDiagnostics 옵션을 사용합니다.
Microsoft에 대한 활성 지원 티켓이 있고, 함께 작업 중인 지원 엔지니어의 요청에 따라 실행 중인 PerfInsights가 있으면 /sr 옵션을 사용하여 지원 티켓 번호를 제공해야 합니다.
기본적으로 PerfInsights는 사용 가능한 최신 버전으로 자체적으로 업데이트를 시도합니다. 자동 업데이트를 건너뛰려면 /SkipAutoUpdate 또는 /sau 매개 변수를 사용합니다.
기간 스위치 /d를 지정하지 않으면 PerfInsights는 vmslow, azurefiles 및 고급 시나리오를 실행하면서 해당 문제를 재현하도록 요구합니다.
추적 또는 작업이 완료되면 PerfInsights와 동일한 폴더에 새 파일이 나타납니다. 파일 이름은 PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip입니다. 분석을 위해 이 파일을 지원 에이전트에게 보내거나 Zip 파일 내부의 보고서를 열어 결과와 권장 사항을 검토할 수 있습니다.
인증 방법
성능 진단은 스토리지 계정에 성능 진단 데이터를 쓰는 인증 방법으로 관리 ID 및 스토리지 계정 액세스 키를 지원합니다.
비고
최적의 보안을 위해, 가능하면 관리 ID와 함께 Microsoft Entra ID를 사용하여 Blob, 큐 및 테이블 데이터에 대한 요청에 권한을 부여하는 것이 좋습니다. Microsoft Entra ID 및 관리 ID를 사용한 권한 부여는 공유 키 권한 부여보다 뛰어난 보안과 사용 편의성을 제공합니다.
시스템 할당 관리 ID
이것이 기본 인증 방법입니다. 시스템 할당 관리 ID가 선택되었지만 VM에 대해 사용하도록 설정되지 않은 경우 성능 진단에서 사용하도록 설정하려고 시도합니다. 현재 사용자에게 필요한 권한이 없는 경우 이 작업이 실패할 수 있습니다. 성능 진단은 스토리지 계정에 대한 스토리지 테이블 데이터 기여자 역할 및 스토리지 Blob 데이터 기여자 역할을 시스템 할당 관리 ID에 추가합니다. 자세한 내용은 기존 VM에서 시스템 할당 관리 ID를 사용하도록 설정하는 방법을 참조하세요.
사용자가 할당한 관리 ID
사용자는 VM과 연결된 사용자 할당 관리 ID 목록에서 하나를 선택할 수 있습니다. 성능 진단은 스토리지 계정에 대한 스토리지 테이블 데이터 기여자 역할 및 스토리지 Blob 데이터 기여자 역할을 사용자 할당 관리 ID에 추가합니다. 자세한 내용은 기존 VM에 사용자 할당 관리 ID를 할당하는 방법을 참조하세요.
스토리지 계정 액세스 키
사용자는 스토리지 계정 액세스 키를 선택할 수 있습니다. 스토리지 계정에 대해 스토리지 계정 키 액세스 허용을 사용하지 않도록 설정하면 설치 작업이 실패합니다. 자세한 내용은 공유 키 권한 부여를 참조하세요.
인증 방법을 변경하려면 성능 진단을 제거하고 다시 설치합니다.
비고
관리 ID가 VM에 연결되면 성능 진단에서 전파되고 인식되는 데 몇 분 정도 걸릴 수 있습니다. 설치에 실패하면 몇 분 정도 기다렸다가 다시 시도하세요.
스토리지 계정 보기 및 관리
성능 진단은 비용을 최소화하기 위해 짧은 데이터 보존을 위해 구성할 수 있는 스토리지 계정의 BLOB(Binary Large Object) 컨테이너에 모든 인사이트 및 보고서를 저장합니다. 성능 진단을 사용하거나 각 VM에 대해 별도의 계정을 사용하는 여러 VM에 동일한 스토리지 계정을 사용할 수 있습니다.
Performance Diagnostics가 올바르게 작동하도록 하려면 스토리지 계정에 대해 스토리지 계정 키 액세스 허용 설정을 사용하도록 설정해야 합니다. 이 설정을 사용하려면 Azure Portal에서 스토리지 계정을 열고 구성 메뉴 항목을 선택합니다.
설치 후 스토리지 계정을 변경하는 경우 이전 보고서와 인사이트는 삭제되지 않지만 진단 보고서 목록에 더 이상 표시되지 않습니다.
비고
스토리지 계정이 프라이빗 엔드포인트를 사용하는 경우 성능 진단에서 스토리지에 액세스하기 위해 각 개별 프라이빗 엔드포인트에 DNS 구성을 추가해야 합니다.
저장된 데이터 보기
진단 데이터를 보려면 Azure Portal에서 스토리지 계정으로 이동하고 Storage 브라우저를 선택합니다.
성능 진단은 BLOB(Binary Large Object) 컨테이너 azdiagextnresults에 보고서를 저장하고 테이블에 인사이트를 저장합니다. 인사이트는 다음과 같습니다.
- 실행에 대한 모든 인사이트 및 관련 정보
- Windows에서 출력 파일명
PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip으로 압축된 파일과 Linux에서 로그 파일이 포함된 tar 파일명PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz으로 생성된 파일 - HTML 보고서
보고서를 다운로드하려면 컨테이너를 선택한 다음 다운로드를 클릭합니다.
스토리지 계정 변경
스토리지 계정을 변경하려면 VM에 성능 진단 설치에 설명된 대로 Azure Portal에서 성능 진단을 엽니다. 설정을 선택하여 성능 진단 설정 화면을 엽니다.
다른 스토리지 계정을 선택하려면 스토리지 계정 변경을 선택합니다.
Performance Diagnostics 제거
VM에서 Performance Diagnostics를 제거하면 VM 확장은 제거되지만 스토리지 계정에 있는 진단 데이터에는 영향을 미치지 않습니다.
Performance Diagnostics를 제거하려면 도구 모음에서 제거 단추를 선택합니다.