연습 - 웹앱 강화

완료됨

강화는 웹앱을 실행하기 위한 더 강력한 리소스를 제공합니다. 또한 규모 확장에 사용할 수 있는 인스턴스의 수도 늘려줍니다.

호텔 예약 시스템에서는 규모 확장하여 증가하는 웹앱 방문자의 수를 처리해야 합니다. 스케일 업을 실행하면 더 확장할 수 있습니다. 스케일 업은 웹앱에 추가할 새 기능을 지원하기 위해서도 필요할 수 있습니다.

이 연습에서는 이전에 배포한 호텔 예약 시스템 웹앱을 스케일 업합니다. 이전에 사용한 것과 동일한 테스트 클라이언트 애플리케이션을 실행하고, 웹앱의 성능을 모니터링합니다.

웹앱에 현재 가격 책정 계층 검토

중요

이 연습을 수행하려면 사용자의 Azure 구독이 필요하며 요금이 발생할 수 있습니다. Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.

  1. Azure Portal에 로그인합니다.

  2. Azure Portal 메뉴 또는 페이지에서 모든 리소스를 선택한 다음, App Service 계획으로 이동합니다.

  3. 설정 아래에서 강화(App Service 계획)를 선택합니다. App Service 계획에 대한 가격 책정 계층의 세부 정보가 표시됩니다. 가격 책정 계층은 S1이며, A-시리즈 가상 머신에서 실행되는 100개의 Azure 컴퓨팅 단위와 1.75GB의 메모리가 제공됩니다.

    App Service 계획 S1에 대한 가격 책정 계층 세부 정보의 스크린샷

테스트 클라이언트 앱 실행

  1. 화면 오른쪽의 Cloud Shell 창에서 ~/mslearn-hotel-reservation-system/src/HotelReservationSystemTestClient 폴더로 이동합니다.

    cd ~/mslearn-hotel-reservation-system/src/HotelReservationSystemTestClient
    
  2. 클라이언트 앱을 실행합니다. 시스템을 몇 분 동안 실행합니다. 이전 연습의 시작 부분에서와 마찬가지로 응답은 느립니다. 클라이언트 요청이 HTTP 408(시간 제한) 오류로 곧 실패합니다.

    dotnet run
    
  3. 앱을 계속 실행합니다. 또 다시 5분 동안 기다립니다. 그런 다음, Azure Portal의 대시보드에서 웹앱에 대한 메트릭을 보여 주는 차트로 이동합니다. 이전 연습에서와 같이 통계에서 응답 시간이 비교적 느리고 HTTP 4xx 오류가 많음을 알 수 있습니다.

웹앱 강화 및 결과 모니터링

  1. Azure Portal에서 App Service 계획 페이지로 돌아갑니다.

  2. 설정 아래에서 강화(App Service 계획)를 선택합니다.

  3. P2V2 가격 책정 계층을 선택한 다음, 적용을 선택합니다. 이 가격 책정 계층에는 Dv2-시리즈 VM에서 실행되는 420개 ACU(S1 가격 책정 계층 성능의 4배 초과) 및 7GB 메모리가 제공됩니다. 그러나 이 VM 비용은 S1 가격 책정 계층 실행 비용의 4배입니다.

  4. 또 다시 5분 동안 기다린 다음, Azure Portal의 대시보드에서 성능 차트를 봅니다.

  5. 시스템을 스케일 업할 때 몇 가지 다른 HTTP 서버 오류가 발생할 수도 있습니다. 이러한 오류는 시스템에서 하드웨어를 전환할 때 중단된 진행 중 클라이언트 요청으로 인해 발생합니다. 강화 후에는 더 많은 프로세서를 사용할 수 있으므로 CPU 시간이 크게 향상됩니다. 규모 확장할 때 확인한 것과 동일한 응답 시간의 감소는 확인할 수 없습니다. 이 동작은 여전히 단일 인스턴스만 사용하고 있기 때문입니다. 확장할 때와 마찬가지로 요청 부하가 분산되지 않습니다. 하지만 이제는 이전보다 더 많은 인스턴스(20개)로 규모 확장할 수 있습니다.

    아래 이미지의 차트에서는 웹앱에 대한 성능 메트릭의 예를 보여 줍니다. 시스템이 확장된 지점이 강조 표시되어 있습니다.

    확장 지점이 강조 표시된 웹앱에 대한 성능 차트의 스크린샷

  6. 클라이언트 앱을 실행하고 있는 Cloud Shell로 돌아갑니다. Enter 키를 선택하여 앱을 중지합니다.