내보내기(0) 인쇄
모두 확장
이 항목은 아직 평가되지 않았습니다.- 이 항목 평가

Windows Azure의 부하 테스트에 있는 성능 카운터

부하 테스트를 수행할 때 Visual studio를 사용하여 성능 카운터(일반적으로 Perfmon.exe를 사용하여 볼 수 있음)에서 데이터를 수집할 수 있습니다. 성능 카운터는 테스트되는 시스템을 호스팅하는 각 컴퓨터(작업자 역할 또는 웹 역할)에 특정합니다. Perfmon을 사용하여 응용 프로그램 프로세스를 비롯하여 모니터링할 프로세스를 지정할 수 있습니다. 이 항목에서는 Windows Azure에서 Visual Studio 부하 테스트를 수행하는 동안 이러한 카운터를 기록하는 단계를 안내합니다.

note참고
이 문서에 나와 있는 대로 성능 카운터를 기록하는 경우 네트워크 경계는 받을 수 있는 메시지의 처리량을 줄입니다. 예를 들어 온-프레미스 시나리오에서 초당 하나의 빈도로 많은 카운터를 기록할 수 있습니다. 여기에서 설명하는 시나리오에서는 네트워크 대기 시간 때문에 동등한 성능을 얻을 수 없습니다. 따라서 실제로는 수집하는 카운터의 수를 줄이고 수집 빈도도 5초 이상으로 설정해야 합니다. 카운터 집합을 만드는 방법에 대한 자세한 내용은 성능 카운터 집합 만들기를 참조하십시오.

이 항목은 Windows Azure 역할에서 Visual Studio 부하 테스트 사용에서 설명하는 기본 시나리오의 변형입니다. 해당 문서 집합에서는 Windows Azure에서 Visual Studio 부하 테스트를 실행하는 방법을 설명합니다. 해당 기본 시나리오에서 부하 테스트 프로젝트는 Windows Azure 응용 프로그램에 대한 트래픽을 생성하고 모든 역할은 동일한 Windows Azure Connect 그룹에 있습니다. 이 항목에서는 작업자 역할과 테스트 실행 대상인 시스템이 동일한 Connect 그룹에 있지만 서로 다른 호스팅된 서비스에서 실행됩니다.

저자: Sidney Higa 및 Paolo Salvatori

감사의 말: Jaime Alva Bravo에게 감사드립니다.

사전 요구 사항

성능 카운터를 캡처하려면 다음이 필요합니다.

  1. Windows Azure Connect 끝점 설치 실행 파일, Wacendpointpackage.exe

    Windows Azure Connect를 사용하여 로컬 끝점을 설치하는 방법을 참조하십시오. 나중에 사용할 수 있도록 실행 파일을 다운로드합니다.

  2. Windows Azure 끝점 활성화 토큰

    Windows Azure Connect를 사용하여 로컬 끝점을 설치하는 방법의 지침에 따라 토큰을 얻습니다. 나중에 검색할 수 있도록 토큰을 저장합니다.

개요

Visual Studio 부하 테스트는 두 가지 논리적 부분으로 구성되어 있습니다.

  1. 부하 테스트 구성 요소. 구성 요소에는 테스트 컨트롤러와 에이전트가 포함되어 있습니다.

  2. 테스트 대상 시스템. 부하 테스트의 대상 응용 프로그램입니다.

테스트 대상 시스템과 부하 테스트 구성 요소는 하나의 Windows Azure 호스팅된 시스템에 함께 배포될 수 있습니다. 해당 시나리오에서는 에이전트 노드가 응용 프로그램을 실행하는 역할 인스턴스와 직접 통신할 수 있으므로 부분 간의 통신이 최적화됩니다. 부분들은 Visual Studio 도구를 사용하여 별도의 호스팅된 시스템에서 배포될 수 있지만 성능 카운터는 수집될 수 없습니다. 이에 대해서는 나중에 설명합니다.

이 시나리오에서는 테스트 대상 시스템과 부하 테스트 구성 요소가 서로 다른 호스팅된 서비스에서 실행되지만 성능 카운터가 수집되어야 합니다. 두 개의 호스팅된 서비스가 있는데 하나는 테스트 컨트롤러 및 에이전트용이고 다른 하나는 테스트 대상 시스템용입니다. 그러나 통신을 설정하는 데는 여전히 단일 Windows Azure Connect 그룹이 사용됩니다.

다른 서비스에서 테스트 중인 에이전트 및 시스템

Connect 그룹을 만드는 기본 방법은 Visual Studio에서 Windows Azure Connect 활성화 확인란을 사용하는 것입니다. 자세한 내용은 Windows Azure Connect를 사용하여 가상 네트워크 만들기를 참조하십시오. 이 시나리오에서는 에이전트와 테스트 대상 시스템이 서로 다른 서비스에서 실행됩니다. 따라서 역할이 기본 방법을 사용하여 서로 통신할 수 없으며 확인란 사용이 작동하지 않습니다. 기본적으로 Windows Azure Connect는 서로 다른 호스팅된 서비스에서 실행되는 역할 인스턴스 간의 통신을 허용 하지 않습니다. 해결 방법은 Connect 끝점을 다음 위치에 설치하는 것입니다.

  1. 에이전트를 호스팅하는 작업자 역할

  2. 테스트 대상 시스템을 호스팅하는 웹 및/또는 작업자 역할

확인란을 사용하지 않으므로 여기에서 설명된 대로 끝점이 다른 프로세스를 통해 자동으로 설치되어야 합니다.

자동으로 Connect 끝점 설치

호스팅된 서비스 간의 통신을 설정하려면 먼저 Wacendpointpackage.exe를 다운로드합니다. 에이전트를 호스팅하는 작업자 역할이 포함된 Visual Studio 프로젝트와 함께 이 실행 파일을 저장합니다. 그런 다음 아래와 같이 끝점을 자동으로 설치하도록 작업자 역할을 구성합니다.

자동으로 Connect 끝점을 설치하려면

  1. Wacendpointpackage.exe를 복사하여 에이전트를 호스팅하는 작업자 역할에 대한 Visual Studio 프로젝트에 붙여 넣습니다. 다음 단계를 수행하여 끝점을 자동으로 설치하도록 역할을 구성합니다.

    1. 관리자 권한으로 Visual Studio를 실행하고 부하 테스트 프로젝트가 포함된 솔루션을 엽니다.

    2. 솔루션 탐색기에서 에이전트를 호스팅하는 작업자 역할이 포함된 Visual Studio 프로젝트에 Wacendpointpackage.exe를 붙여 넣습니다.

    3. 솔루션 탐색기에서 Wacendpointpackage.exe를 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.

    4. 속성 창에서 빌드 작업 속성을 없음으로 설정합니다.

    5. 속성 창에서 출력 디렉터리로 복사 속성이 항상 복사로 설정되어 있는지 확인합니다.

  2. 설치 실행 파일을 실행하는 배치 파일을 만듭니다.

    1. Startup.cmd라는 파일을 만듭니다.

    2. 다음 코드를 복사하여 파일에 붙여 넣습니다. <windows azure connect group activation token>을 Connect 그룹의 활성화 토큰으로 바꾸십시오.

      Wacendpointpackage.exe /i  /s /m ko-kr /token <windows azure connect group activation token>
      
  3. Startup.cmd 파일을 복사하여 에이전트를 호스팅하는 작업자 역할에 대한 Visual Studio 프로젝트에 붙여 넣습니다. 파일의 빌드 작업 속성을 없음으로 설정합니다. 또한 파일의 출력 디렉터리로 복사 속성을 항상 복사로 설정합니다.

  4. 배치 파일을 실행하도록 작업자 또는 웹 역할을 구성합니다.

    1. 서비스 정의 및 구성 파일이 포함된 Azure 클라우드 프로젝트를 엽니다.

    2. ServiceDefinition.csdef 파일을 엽니다.

    3. 에이전트를 호스팅하는 <WebRole> 요소 아래에 <Runtime> 요소를 추가하고 실행 컨텍스트를 "elevated"로 설정합니다. <Runtime> 요소 아래에 <Startup> 요소를 추가합니다. 그런 다음 관리자 모드에서 배치 파일을 실행하기 위해 <Task> 요소를 추가합니다. 전체 코드는 다음과 같습니다.

      <Runtime executionContext="elevated"/>
      <Startup>
          <Task commandLine="setup\startup.cmd" executionContext="elevated" taskType="simple" />
      </Startup>    
      
      

설명된 방법은 Azure 작업자 및 웹 역할에서 소프트웨어를 설치하는 데 일반적으로 사용됩니다. 자세한 내용은 Windows Azure에서 역할 인스턴스가 시작되기 전에 작업 시작을 참조하십시오.

초기화

다음 섹션으로 진행하기 전에 Windows Azure에서 가상 컴퓨터를 배포하고 실행합니다. 실행 중인 인스턴스는 카운터 집합을 만들고 카운터 집합의 매핑을 설정하는 데 필요합니다. Azure에서 호스팅된 서비스를 배포하고 실행하는 방법은 Windows Azure에서 응용 프로그램 준비를 참조하십시오.

성능 카운터 집합 만들기

성능 카운터 집합을 만들려면 Visual Studio 부하 테스트 도구를 사용합니다.

성능 카운터 집합을 만들려면

  1. 부하 테스트 구성 요소가 포함된 Visual Studio 프로젝트를 엽니다.

  2. 테스트 프로젝트를 열고 부하 테스트(*.loadtest) 파일을 엽니다.

  3. 카운터 집합 폴더를 마우스 오른쪽 단추로 클릭하고 사용자 지정 카운터 집합 추가를 클릭합니다. 기본 이름은 Custom1입니다. 필요에 따라 카운터 집합 폴더의 이름을 바꾸십시오.

  4. 새로운 사용자 지정 카운터 폴더를 마우스 오른쪽 단추로 클릭하고 카운터 추가를 클릭합니다.

  5. 성능 카운터 선택 대화 상자의 컴퓨터 드롭다운 목록에서 테스트 대상 시스템이 포함된 컴퓨터를 선택합니다. 해당 컴퓨터는 Windows Azure에서 실행 중인 역할 인스턴스일 수 있습니다.

  6. 성능 범주 드롭다운에서 모니터링할 성능 카운터를 선택하고 확인을 클릭합니다.

  7. 이전 단계를 반복하여 필요한 카운터를 추가합니다.

카운터를 만든 후 실행 중인 각 역할에 대한 매핑을 만듭니다.

성능 카운터 매핑을 만들려면

  1. 부하 테스트 파일(*.loadtest)에서 실행 설정 폴더를 엽니다.

  2. 카운터 집합 매핑 폴더 아래에서 실행 중인 Azure 인스턴스의 이름을 찾습니다. 가상 컴퓨터의 이름은 일반적으로 "RD"로 시작합니다. 에이전트 작업자 역할의 인스턴스마다 가상 컴퓨터가 하나씩 있습니다.

  3. 컴퓨터 노드를 마우스 오른쪽 단추로 클릭하고 카운터 집합 관리를 클릭합니다.

  4. 카운터 집합 관리 대화 상자에서 사용자 지정 카운터 집합을 선택하여 추가합니다.

사용자 지정 카운터 집합이 이제 에이전트를 실행하는 각 작업자 역할에 매핑됩니다.

통과 보안(Pass-Through Security) 사용

원격 데스크톱은 역할 인스턴스에 액세스하는 표준 방법입니다. Visual Studio 도구를 사용하여 원격 데스크톱을 사용하도록 역할을 구성할 수 있습니다. Visual Studio 도구는 지정하는 사용자 이름과 암호를 사용하여 인증서를 만듭니다. 자세한 내용은 Windows Azure 역할과 함께 원격 데스크톱 사용을 참조하십시오. 이 방법을 채택하는 경우 사용자 이름은 원격 데스크톱을 사용하도록 구성된 모든 역할의 Administrator 그룹에 자동으로 추가됩니다. 동일한 사용자가 작업자 역할 컴퓨터에서 Administrators 그룹에 속해야 합니다. 즉, 동일한 사용자 이름과 암호가 테스트 대상 시스템뿐만 아니라 에이전트에 로그온하는 데 사용됩니다. 이렇게 하는 방법은 로컬 사용자를 만들고 해당 ID를 사용하여 부하 테스트 호스팅된 서비스를 배포하는 것입니다. 구성이 올바른지 여부를 확인하려면 원격 데스크톱을 사용하여 실행 중인 작업자 역할에서 Administrators 그룹을 검사합니다. 동일한 사용자가 Administrators 그룹에 속하는지 확인합니다. 부하 테스트에 대한 로컬 사용자를 만드는 방법은 Windows Azure에 부하 테스트 게시 항목의 "부하 테스트 컨트롤러를 관리할 로컬 사용자 만들기"를 참조하십시오.


빌드 날짜:

2013-07-25
이 정보가 도움이 되었습니까?
(1500자 남음)
의견을 주셔서 감사합니다.

커뮤니티 추가 항목

표시:
© 2014 Microsoft. All rights reserved.