내보내기(0) 인쇄
모두 확장

Windows Azure의 Visual Studio 부하 테스트 개요

여기에서는 부하 테스트의 주요 구성 요소에 대해 설명합니다. 응용 프로그램 아키텍처에 대한 일반적인 설명은 Windows Azure에서 실행되는 에이전트를 사용하여 부하 테스트 - 1부를 참조하십시오. Visual Studio의 부하 테스트에 대한 개요는 부하 테스트 이해를 참조하십시오.

note참고
이 문서는 주로 "순수한" 솔루션에 대해 다룹니다. Visual Studio의 사본을 제외하고 부하 테스트의 구성 요소는 Windows Azure 작업자 역할로 실행됩니다. 이 "거의 순수한" 시나리오의 대안이 있습니다. 바로 구성 요소 중 하나라도 혼합 환경에서 실행하거나 호스팅하는 경우입니다. 예를 들어 작업자 역할에서 실행되는 에이전트와 함께 온-프레미스로 테스트 컨트롤러를 실행하려고 할 수 있습니다. 또는 Windows Azure SQL 데이터베이스를 사용하여 부하 테스트 데이터를 저장하려고 할 수 있습니다. 즉, Windows Azure 역할과 SQL 데이터베이스 및 온-프레미스에서 부하 테스트의 구성 요소를 배포할 수 있습니다. 이러한 대체 설정을 선택하고 설정하는 데 대한 자세한 설명은 혼합 환경에서 부하 테스트 실행 항목을 참조하십시오.

이점

개요로 진행하기 전에 Windows Azure에서 Visual Studio 부하 테스트를 사용하는 경우의 장점 중 몇 가지는 다음과 같습니다.

항목 비용
부하 테스트 비용은 초기 투자 후 크게 감소합니다. 첫 비용은 부하 테스트 기능을 사용하기 위한 라이선스와 Visual Studio Ultimate에 대한 비용입니다. 그 후에는 부하 테스트 수행에 사용할 Visual Studio 프로젝트를 만듭니다. 필요에 따라 웹 및 작업자 역할을 배포하고 실행하려면 Windows Azure 구독 및 용량이 있어야 합니다. 이러한 비용은 소유하는 하드웨어의 비용 및 모든 부수적 비용과 균형을 이루어야 합니다. 부수적 비용에는 전체 시스템을 유지 관리하기 위한 소프트웨어, 전력, 데이터 센터 및 인력이 포함됩니다.

유지 관리 비용
여기에서의 절차를 사용하여 부하 테스트에 사용할 수 있는 쉽게 유지 관리되는 프로젝트를 만들 수 있습니다. 프로젝트를 만든 후 업데이트는 가까운 미래에 최소한으로 발생합니다.

유연성
부하 테스트는 다양한 시나리오와 조건에 맞게 쉽게 수정할 수 있습니다. 예를 들어 많은 수의 작업자 역할을 사용하여 Azure 호스팅 서버를 구성할 수 있습니다. 각 역할은 부하를 늘리는 데 사용할 수 있는 테스트 에이전트가 됩니다.

반복성
그러나 초기 투자 후 최소한의 시간과 비용으로 다양한 테스트 대상에 대해 부하 테스트의 용도를 변경할 수 있습니다. 테스트 프로젝트를 다시 구성하고 Windows Azure에서 다시 배포합니다. 필요한 시간 동안 테스트를 실행하고 배포를 취소합니다. 필요한 경우 반복합니다.

실재 정확성
대규모 데이터 센터에서 서비스를 호스팅할 때 시스템의 동시성이 크게 증가합니다(동시성에 대해서는 나중에 자세히 설명함). Windows Azure에서 최종 응용 프로그램을 호스팅하면 최종 배포에 완벽한 정확성이 제공됩니다.

동시성

동시성은 몇몇 작업이 동시에 실행되고 상호 작용할 수 있는 시스템의 속성으로 정의됩니다. 동시성을 제한하는 요소는 사용 가능한 IP 주소의 수입니다. 시스템에서 활용하는 IP 주소가 많을수록 동시 처리가 향상됩니다. 일반적으로 사용 가능한 주소의 수는 IP 공급자의 규모에 따라 다릅니다. 서비스 수준 계약이 상당한 수준인 경우 일반적으로 많은 수의 IP 주소가 할당됩니다. 그러나 이러한 계약은 일반적이지 않습니다. 하지만 Windows Azure를 플랫폼으로 사용하는 경우 Microsoft 데이터 센터와 해당 리소스를 사용할 수 있는 이점이 있습니다. 여기에는 IP 주소의 큰 풀이 포함됩니다. Windows Azure에서 호스팅된 서비스에는 가상 IP 주소가 할당됩니다. 이 설명에서는 외부와 접한(인터넷) 부하 분산 장치(호스팅된 서비스가 아님)에서 IP 주소를 사용합니다. 많은 수의 IP 주소 보유는 Microsoft 데이터 센터의 장점입니다. 하지만 이러한 수준의 동시성이 모든 시스템에서 필요한 것은 아닙니다. 이는 동시성이 높은 시스템을 테스트할 때만 장점이 됩니다.

동시성을 위한 이러한 용량 증가는 Window Azure에서 부하 테스트를 실행하는 또 다른 큰 이점입니다. 이 수준의 동시성은 대규모 데이터 센터 외부에서 재현하기가 가장 어렵습니다.

개요

이 그래픽에서는 부하 테스트의 구성 요소를 보여 줍니다. Visual Studio Ultimate의 사본은 부하 테스트의 시작 및 제어뿐만 아니라 구성에도 사용됩니다. Visual Studio에서는 테스트 결과의 그래픽 보기도 제공합니다. 부하 테스트 구성 요소에는 테스트 컨트롤러, 테스트 에이전트 및 테스트 대상 시스템이 포함됩니다. 테스트 컨트롤러와 에이전트는 작업자 역할로 Windows Azure 데이터 센터에서 실행됩니다. 테스트 대상 시스템을 제외하고 모든 부하 테스트 구성 요소는 동일한 Windows Azure Connect 그룹에 속해야 합니다. 그래야 구성 요소가 서로 그리고 Visual Studio 인스턴스와 자유롭게 통신할 수 있습니다. 테스트 대상 시스템을 호스팅하는 컴퓨터에서 성능 카운터를 추적하는 카운터 집합을 만들려면 해당 컴퓨터를 Windows Azure Connect 그룹에 참여시킵니다.

기본 로드 테스트 구성

부하 테스트에서는 몇 가지 주요 기술을 사용합니다. 부하 테스트의 기능은 이 문서의 뒷부분에 설명되어 있습니다. 필요한 다운로드의 전체 목록은 Windows Azure 부하 테스트 필수 구성 요소 및 설정을 참조하십시오.

Azure 관리 포털

관리 포털은 부하 테스트에 사용되는 기본 구조를 만들고 관리하는 데 사용됩니다. 특히 다음과 같은 Azure 기능을 사용할 수 있습니다.

Azure 호스팅 서비스
부하 테스트 응용 프로그램을 실행할 호스팅된 서비스를 만듭니다. 응용 프로그램은 두 가지 작업자 역할로 구성되어 있습니다. 첫 번째 역할은 테스트 컨트롤러의 단일 인스턴스를 호스팅합니다. 컨트롤러를 사용하여 부하 테스트를 원격으로 실행할 수 있습니다. 두 번째 역할은 단일 에이전트를 호스팅합니다. Azure의 인스턴스 기능을 사용하여 에이전트 역할의 인스턴스를 필요한 만큼 만들 수 있습니다. 자세한 내용은 역할 인스턴스의 수를 늘리거나 줄여 응용 프로그램을 확장하는 방법을 참조하십시오.

저장소 계정
작업자 역할에서 실행되는 압축된 코드를 보유하려면 Windows Azure 저장소 계정이 필요합니다. 저장소 Blob에는 3개의 .zip 파일이 포함되어 있습니다. 한 파일에는 SQL Express의 설치 소프트웨어가 포함되어 있고, 두 번째 파일에는 컨트롤러 코드가 포함되어 있습니다. 세 번째 파일에는 에이전트 코드가 포함되어 있습니다. 저장소 계정을 만드는 방법은 Windows Azure 구독의 저장소 계정을 만드는 방법을 참조하십시오.

Connect 그룹
컨트롤러와 에이전트 간의 통신을 설정하려면 Connect 그룹을 만듭니다. Connect 기능은 컨트롤러가 에이전트 활동을 수행할 수 있도록 하는 가상 사설망 역할을 하며 에이전트가 컨트롤러에 테스트 결과를 반환할 수 있도록 합니다. 또한 Connect 그룹을 사용하면 Visual Studio의 온-프레미스 사본에서 컨트롤러를 실행할 수 있습니다. 자세한 내용은 Windows Azure Connect 개요를 참조하십시오.

또한 Azure 포털에 두 가지 X.509 인증서를 업로드합니다. 두 인증서는 온-프레미스 컴퓨터와 Azure 포털 간의 데이터 스트림을 인증하고 암호화하는 데 필요합니다. 첫 번째 인증서는 Visual Studio에서 Azure로 직접 응용 프로그램을 게시할 수 있도록 하는 데 사용됩니다. 이 인증서를 Azure 용어로 관리 인증서라고 합니다. 두 번째 인증서는 온-프레미스 컴퓨터와 Azure 작업자 역할 간의 원격 데스크톱 연결을 설정하는 데 사용됩니다. 이 인증서를 Azure 용어로 서비스 인증서라고 합니다.

Visual Studio Ultimate

Visual Studio는 개발 환경이며 부하 테스트 기능을 제공하는 유일한 버전입니다. Visual Studio 버전 비교는 Visual Studio 2010 비교를 참조하십시오. Visual Studio Ultimate를 사용하여 응용 프로그램의 부하 테스트를 수행하는 테스트 스크립트를 만들 수 있습니다.

Visual Studio에는 컨트롤러를 원격으로 관리하는 기능도 있습니다. 비 Azure 시나리오에서는 원격 컨트롤러가 두 번째 컴퓨터에서 실행되고, Azure 시나리오에서는 컨트롤러가 클라우드의 작업자 역할에서 실행됩니다.

SQL Server 2012 Express Edition

에이전트에서 데이터를 수집하고 저장하려면 데이터베이스가 필요합니다. 다행히도 SQL Server 2012 Express는 무료 버전이며 부하 테스트 프로그램은 기본적으로 SQL Server 2012 Express를 사용합니다. 이 데이터베이스 엔진은 컨트롤러 소프트웨어도 실행하는 작업자 역할에도 배포되어야 합니다. 설치는 RoleEntryPoint.OnStart 메서드의 코드를 사용하여 수행됩니다.

SQL 데이터 파일은 역할이 재활용될 때 데이터가 손실되기 때문에 작업자 역할의 가상 하드 드라이브에 있을 수 없습니다. 기록할 모든 역할의 공유 드라이브를 탑재하는 것이 좋습니다. 자세한 내용은 SMB를 사용하여 여러 역할 간에 Windows Azure 드라이브 공유를 참조하십시오.

또 다른 대안은 SQL 데이터베이스를 사용하는 것입니다. loadtest2010.dacpac 파일을 다운로드하여 데이터베이스와 함께 SQL 데이터베이스를 프로비전할 수 있습니다. 자세한 내용은 혼합 환경에서 부하 테스트 실행를 참조하십시오.

필요한 구성 요소 조립

시작하려면 Azure 포털을 프로비전하고 응용 프로그램을 구성하는 데 필요한 소프트웨어를 다운로드합니다. 이 항목의 다운로드에 대한 자세한 내용은 Windows Azure 부하 테스트 필수 구성 요소 및 설정을 참조하십시오.

Windows Azure 프로비전 및 응용 프로그램 구성

모든 추가 소프트웨어를 다운로드했으면 이후에 설명하는 대로 Windows Azure 포털을 프로비전하고 응용 프로그램을 구성할 수 있습니다. 각 단계를 완료하는 방법은 부하 테스트를 위해 Windows Azure 프로비전을 참조하십시오.

  1. 새로운 호스팅된 서비스, 저장소 계정 및 Connect 가상 네트워크를 사용하여 Windows Azure 포털을 프로비전합니다.

  2. 저장소 및 호스팅된 서비스 계정을 만든 후 Windows Azure 포털의 값을 사용하여 응용 프로그램을 구성합니다.

  3. 작업자 역할에 자동으로 설치되는 소프트웨어가 포함된 3개의 .zip 파일을 만듭니다.

    응용 프로그램이 기능하려면 컨트롤러 및 에이전트 소프트웨어가 작업자 역할에서 실행되어야 합니다. 컨트롤러와 에이전트를 만들기 위한 소프트웨어는 미리 만들어져 있으며 다운로드할 수 있습니다. 작업자 역할로 소프트웨어를 가져오려면 먼저 테스트 컨트롤러와 에이전트 소프트웨어가 포함된 두 개의 .zip 파일을 만들어야 합니다. 선택한 도구(무료 버전이 있음)를 사용하여 .zip 파일을 만드십시오. .zip 파일이 만들어지면 Windows Azure 저장소 계정에 파일을 업로드합니다. 응용 프로그램이 실행되면 .zip 파일이 저장소에서 검색되어 압축이 풀리고 작업자 역할에 로드됩니다.

    SQL Server 2008 SQL Express의 설치 패키지가 포함된 세 번째 .zip 파일을 만들어야 합니다. 컨트롤러 및 에이전트 패키지와 마찬가지로 SQL Server 설치 프로그램이 자동으로 실행되고 SQL Express의 인스턴스를 작업자 역할에 배포합니다.

  4. .zip 파일을 Azure 저장소 계정에 업로드합니다. 이 작업을 위해 다운로드할 수 있는 무료 프로젝트인 Storage Service Client를 사용하십시오.

  5. Windows Azure 포털에서 Windows Azure Connect 그룹을 만듭니다.

  6. 컨트롤러 역할에 연결하는 데 사용되는 컴퓨터에 Connect 끝점을 설치합니다.

  7. Connect 활성화 토큰을 사용하여 응용 프로그램을 구성합니다. 이 토큰을 통해 작업자 역할이 Connect 그룹에 참여할 수 있습니다.

응용 프로그램 게시

포털과 응용 프로그램이 올바르게 프로비전되고 구성되면 응용 프로그램을 Windows Azure에 게시할 수 있습니다. 자세한 단계는 Windows Azure에 부하 테스트 게시를 참조하십시오.

  1. Windows Azure 구독 ID를 검색합니다. ID는 Visual Studio에서 응용 프로그램을 계정에 업로드하는 데 사용됩니다.

  2. 관리 인증서를 만들고 업로드합니다. 절차는 다음과 같습니다.

    1. Windows Azure 게시 대화 상자를 사용하여 새 관리 인증서를 만듭니다. 응용 프로그램을 업로드할 때 Windows Azure에서 인증서를 통해 권한을 부여할 수 있습니다.

    2. 대화 상자에 구독 ID를 붙여 넣습니다. ID를 통해 Visual Studio에서 계정을 식별할 수 있습니다.

  3. 관리 인증서를 내보냅니다. 인증서를 업로드하려면 컴퓨터의 로컬 인증서 캐시에서 내보냅니다.

  4. 관리 인증서를 업로드합니다. 관리 포털을 사용하여 인증서를 업로드할 수 있습니다.

  5. 응용 프로그램을 게시합니다.

원격 데스크톱 사용

응용 프로그램이 게시되면 원격 데스크톱을 사용하여 응용 프로그램에 연결합니다. Visual Studio에서 제공하는 도구와 기능을 사용하여 이 작업을 수행할 수 있습니다. 원격 데스크톱 연결을 설정하는 단계는 Windows Azure에 부하 테스트 게시를 참조하십시오.

다음 단계

시작하려면 솔루션의 도구와 구성 요소(Windows Azure 부하 테스트 필수 구성 요소 및 설정)를 다운로드하십시오.


빌드 날짜:

2013-07-25

커뮤니티 추가 항목

표시:
© 2014 Microsoft