Windows 가상 머신에서 웹앱에 .NET Profiler 사용

참고

Azure Az PowerShell 모듈을 사용하여 Azure와 상호 작용하는 것이 좋습니다. 시작하려면 Azure PowerShell 설치를 참조하세요. Az PowerShell 모듈로 마이그레이션하는 방법에 대한 자세한 내용은 Azure PowerShell을 AzureRM에서 Azure로 마이그레이션을 참조하세요.

.NET Application Insights Profiler는 웹앱이 로드 상태에서 실행될 때 속도가 느려지는 코드 경로를 보여 주는 추적을 캡처합니다. 이 정보를 사용하면 성능 병목 상태를 만드는 메서드를 정확히 찾아내고 가장 큰 효과를 주는 최적화 작업에 집중할 수 있습니다.

이 문서에서는 Azure Windows VM(가상 머신) 또는 가상 머신 확장 집합에서 실행되는 웹앱에 대해 .NET Profiler를 사용하도록 설정합니다. .NET 프로파일러가 온-프레미스 서버를 지원하지 않습니다.

이 문서에서는 다음 방법을 알아봅니다.

  • Application Insights SDK를 애플리케이션에 추가합니다.
  • Application Insights SDK의 안정적인 최신 릴리스를 확인합니다.
  • Visual Studio 및 ARM 템플릿(Azure Resource Manager 템플릿), PowerShell 또는 Azure Resource Explorer를 사용하여 .NET Profiler를 사용하도록 설정합니다.

필수 조건

애플리케이션에 Application Insights SDK 추가

  1. Visual Studio에서 ASP.NET Core 프로젝트를 엽니다.

  2. 프로젝트>Application Insights 원격 분석 추가를 선택합니다.

  3. Azure 애플리케이션 Insights를 선택한 다음, 다음을 선택합니다.

  4. Application Insights 리소스가 있는 구독을 선택한 다음, 다음을 선택합니다.

  5. 연결 문자열을 저장할 위치를 선택한 다음, 다음을 선택합니다.

  6. 완료를 선택합니다.

참고

Visual Studio 없이 ASP.NET Core 애플리케이션에서 Application Insights를 사용하도록 설정하는 방법을 비롯한 전체 지침은 .NET 모니터링 및 Node.js 애플리케이션을 참조하세요.

Application Insights SDK의 안정적인 최신 릴리스 확인

  1. 프로젝트>NuGet 패키지 관리로 이동합니다.

  2. Microsoft.ApplicationInsights.AspNetCore를 선택합니다.

  3. 측면 창의 드롭다운 목록에서 최신 버전의 SDK를 선택합니다.

  4. 업데이트를 선택합니다.

    업데이트할 Application Insights 패키지를 선택할 위치를 보여 주는 스크린샷.

Windows VM 또는 가상 머신 확장 집합에서 .NET Profiler를 사용하도록 설정

다음 방법 중 하나로 프로파일러를 사용하도록 설정합니다.

  • ARM 템플릿과 Visual Studio를 사용하여 ASP.NET Core 애플리케이션 내에서 권장.
  • PowerShell 명령을 사용하여 수행합니다.
  • Azure Resource Explorer를 사용합니다.

ARM 템플릿 및 Visual Studio 사용하는 것이 Windows VM 또는 가상 머신 확장 집합에서 .NET Profiler를 사용하도록 설정하는 데 권장되는 방법입니다.

Azure Diagnostics 확장 설치

  1. 사용할 ARM 템플릿을 선택합니다.

  2. 템플릿에서 extension 형식의 리소스를 찾습니다.

  3. Visual Studio에서 Application Insights SDK가 ASP.NET Core 애플리케이션에 추가한 arm.json 파일을 여세요.

  4. 템플릿의 리소스 종류 extension을 arm.json 파일에 추가하여 Azure Diagnostics로 VM 또는 가상 머신 확장 집합을 설정합니다.

  5. WadCfg 노드에서 MyApplicationInsightsProfilerSink에 Application Insights 연결 문자열을 추가합니다.

    "WadCfg": {
      "SinksConfig": {
        "Sink": [
          {
            "name": "MyApplicationInsightsProfilerSink",
            "ApplicationInsightsProfiler": "YOUR_APPLICATION_INSIGHTS_CONNECTION_STRING"
          }
        ]
      }
    }
    
  6. 애플리케이션을 배포합니다.

IIS HTTP 추적 기능 사용

애플리케이션이 IIS(인터넷 정보 서비스)를 통해 실행되는 경우 IIS HTTP 추적 Windows 기능을 사용하도록 설정합니다.

  1. 환경에 대한 원격 액세스를 설정합니다.

  2. Windows 기능 추가 창을 사용하거나 PowerShell에서 관리자 권한으로 다음 명령을 실행합니다.

    Enable-WindowsOptionalFeature -FeatureName IIS-HttpTracing -Online -All
    

    원격 액세스를 설정할 수 없는 경우 Azure CLI 사용하여 다음 명령을 실행합니다.

    az vm run-command invoke -g YOUR_RESOURCE_GROUP -n YOUR_VM --command-id RunPowerShellScript --scripts "Enable-WindowsOptionalFeature -FeatureName IIS-HttpTracing -Online -All"
    
  3. 애플리케이션을 배포합니다.

다음 단계: