다음을 통해 공유


방법: 명령줄에서 프로파일러를 사용하여 동적으로 컴파일된 ASP.NET 웹 응용 프로그램 계측 및 자세한 타이밍 데이터 수집

이 항목에서는 Visual Studio 프로파일링 도구의 명령줄 도구를 사용하여 동적으로 컴파일된 ASP.NET 응용 프로그램에 대한 자세한 타이밍 데이터를 계측 프로파일링 방법으로 수집하는 방법에 대해 설명합니다.

[!참고]

프로파일링 도구의 명령줄 도구는 Visual Studio 설치 디렉터리의 \Team Tools\Performance Tools 하위 디렉터리에 있습니다.64비트 컴퓨터에서는 64비트 및 32비트 버전의 도구를 모두 사용할 수 있습니다.프로파일러 명령줄 도구를 사용하려면 해당 도구 경로를 명령 프롬프트 창의 PATH 환경 변수에 추가하거나 명령 자체에 추가해야 합니다.자세한 내용은 프로파일링 도구 명령줄 도구의 경로 지정을 참조하십시오.

ASP.NET 웹 응용 프로그램에서 성능 데이터를 수집하려면 VSInstr.exe 도구에서 동적으로 컴파일된 응용 프로그램 파일을 계측할 수 있도록 대상 응용 프로그램의 web.config 파일을 수정합니다.그런 다음 VSPerfCLREnv.cmd 도구를 사용하여 프로파일링을 사용할 웹 서버에 대한 적절한 환경 변수를 설정하고 컴퓨터를 다시 시작합니다.

프로파일러를 시작한 다음 대상 응용 프로그램을 실행합니다.응용 프로그램에 프로파일러가 연결된 경우 데이터 수집을 일시 중지했다가 다시 시작할 수 있습니다.프로파일링이 완료되면 응용 프로그램을 닫고 IIS(인터넷 정보 서비스) 작업자 프로세스를 닫은 다음 프로파일러를 종료합니다.프로파일링 작업을 완료했으면 web.config 파일과 웹 서버를 원래 상태로 되돌립니다.

ASP.NET 웹 응용 프로그램 및 웹 서버 구성

ASP.NET 웹 응용 프로그램 및 웹 서버를 구성하려면

  1. 대상 응용 프로그램의 web.config 파일을 수정합니다.방법: 계측할 Web.Config 파일 수정 및 동적으로 컴파일된 ASP.NET 웹 응용 프로그램 프로파일링를 참조하십시오.

  2. 명령 프롬프트 창을 엽니다.

  3. 프로파일링 환경 변수를 초기화합니다.다음을 입력합니다.

    VSPerfClrEnv /globaltraceon

    • /globaltraceon은 계측 방법을 사용하여 프로파일링할 수 있도록 합니다.
  4. 컴퓨터를 다시 시작합니다.

프로파일링 세션 실행

웹 응용 프로그램을 프로파일링하려면

  1. 명령 프롬프트 창을 엽니다.

  2. 프로파일러를 시작합니다.다음을 입력합니다.

    VSPerfCmd /start:trace /output**:**OutputFile[Options]

    • /start:trace 옵션은 프로파일러를 초기화합니다.

    • /start와 함께 **/output:**OutputFile 옵션을 사용해야 합니다.OutputFile은 프로파일링 데이터 파일(.vsp)의 이름과 위치를 지정합니다.

    다음 옵션을 /start:trace 옵션과 함께 사용할 수 있습니다.

    [!참고]

    /user/crosssession 옵션은 대개 ASP.NET 응용 프로그램에 필요합니다.

    옵션

    설명

    /user:[Domain\]UserName

    ASP.NET 작업자 프로세스를 소유하는 계정의 도메인 및 사용자 이름을 지정합니다.이 옵션은 로그온한 사용자 이외의 사용자 권한으로 프로세스가 실행되는 경우에 필요합니다.해당 프로세스 소유자는 Windows 작업 관리자에서 프로세스 탭의 사용자 이름 열에 표시됩니다.

    /crosssession

    다른 로그온 세션에서 프로세스를 프로파일링할 수 있도록 합니다.이 옵션은 ASP.NET 응용 프로그램이 다른 세션에서 실행되고 있는 경우에 필요합니다.세션 식별자는 Windows 작업 관리자에서 프로세스 탭의 세션 ID 열에 표시됩니다./crosssession의 약식 표현으로 /CS를 지정해도 됩니다.

    /globaloff

    데이터 수집이 일시 중지된 상태에서 프로파일러를 시작합니다.프로파일링을 다시 시작하려면 /globalon을 사용합니다.

    /counter:Config

    Config에 지정된 프로세서 성능 카운터에서 정보를 수집합니다.카운터 정보는 각 프로파일링 이벤트에서 수집된 데이터에 추가됩니다.

    /wincounter:WinCounterPath

    프로파일링 중 수집할 Windows 성능 카운터를 지정합니다.

    /automark:Interval

    /wincounter에만 사용합니다.Windows 성능 카운터 수집 이벤트의 시간 간격(밀리초)을 지정합니다.기본값은 500밀리초입니다.

    /events:Config

    프로파일링 중 수집할 ETW(Windows용 이벤트 추적) 이벤트를 지정합니다.ETW 이벤트는 별도의 파일(.etl)에 수집됩니다.

  3. 일반적인 방식으로 ASP.NET 웹 응용 프로그램을 시작합니다.

데이터 수집 제어

대상 응용 프로그램이 실행 중일 때는 VSPerfCmd.exe 옵션을 사용하여 프로파일러 데이터 파일에 데이터를 기록하는 작업을 시작하고 중지하는 방법으로 데이터 수집을 제어할 수 있습니다.데이터 수집을 제어하면 응용 프로그램의 시작 또는 종료와 같은 프로그램 실행의 특정 부분에 대해 데이터를 수집할 수 있습니다.

데이터 수집을 시작 및 중지하려면

  • 다음 옵션 쌍으로 데이터 수집을 시작하고 중지할 수 있습니다.각 옵션을 별도의 명령줄에 지정합니다.데이터 수집을 여러 번 설정하거나 해제할 수 있습니다.

    옵션

    설명

    /globalon /globaloff

    모든 프로세스에 대해 데이터 수집을 시작(/globalon)하거나 중지(/globaloff)합니다.

    /processon:PID/processoff:PID

    프로세스 ID(PID)로 지정된 프로세스에 대해 데이터 수집을 시작(/processon)하거나 중지(/processoff)합니다.

    /threadon:TID/threadoff:TID

    스레드 ID(TID)로 지정된 스레드에 대해 데이터 수집을 시작(/threadon)하거나 중지(/threadoff)합니다.

  • VSPerfCmd.exe/mark 옵션을 사용하여 데이터 파일에 프로파일링 표시를 삽입할 수도 있습니다./mark 명령은 식별자, 타임스탬프 및 선택적 사용자 정의 텍스트 문자열을 추가합니다.표시를 사용하여 프로파일러 보고서와 데이터 뷰에서 데이터를 필터링할 수 있습니다.

프로파일링 세션 종료

프로파일링 세션을 종료하려면 대상 ASP.NET 웹 응용 프로그램을 닫고 프로파일링된 프로세스를 중지하도록 IIS를 다시 설정한 다음 프로파일러를 종료합니다.

프로파일링 세션을 종료하려면

  1. ASP.NET 웹 응용 프로그램을 닫습니다.

  2. IIS(인터넷 정보 서비스)를 다시 설정하여 ASP.NET 작업자 프로세스를 닫습니다.다음을 입력합니다.

    IISReset/stop

  3. 프로파일러를 종료합니다.다음을 입력합니다.

    VSPerfCmd /shutdown

  4. IIS를 다시 시작합니다.다음을 입력합니다.

    IISReset/start

응용 프로그램 및 컴퓨터 구성 복원

프로파일링을 모두 완료한 후에는 web.config 파일을 바꾸고, 프로파일링 환경 변수를 지운 다음, 컴퓨터를 다시 시작하여 응용 프로그램과 서버를 프로파일링 이전의 상태로 복원합니다.

응용 프로그램 및 컴퓨터 구성을 복원하려면

  1. web.config 파일을 원래 파일의 복사본으로 바꿉니다.

  2. 프로파일링 환경 변수를 지웁니다.다음을 입력합니다.

    VSPerfCmd/globaloff

  3. 컴퓨터를 다시 시작합니다.

참고 항목

개념

ASP.NET 웹 응용 프로그램의 명령줄 프로파일링

기타 리소스

프로파일러 계측 방법 데이터 뷰