연습 - 웹앱 강화
강화는 웹앱을 실행하기 위한 더 강력한 리소스를 제공합니다. 또한 규모 확장에 사용할 수 있는 인스턴스의 수도 늘려줍니다.
호텔 예약 시스템에서는 규모 확장하여 증가하는 웹앱 방문자의 수를 처리해야 합니다. 스케일 업을 실행하면 더 확장할 수 있습니다. 스케일 업은 웹앱에 추가할 새 기능을 지원하기 위해서도 필요할 수 있습니다.
이 연습에서는 이전에 배포한 호텔 예약 시스템 웹앱을 스케일 업합니다. 이전에 사용한 것과 동일한 테스트 클라이언트 애플리케이션을 실행하고, 웹앱의 성능을 모니터링합니다.
웹앱에 현재 가격 책정 계층 검토
중요
이 연습을 수행하려면 사용자의 Azure 구독이 필요하며 요금이 발생할 수 있습니다. Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.
Azure Portal에 로그인합니다.
Azure Portal 메뉴 또는 홈 페이지에서 모든 리소스를 선택한 다음, App Service 계획으로 이동합니다.
설정 아래에서 강화(App Service 계획)를 선택합니다. App Service 계획에 대한 가격 책정 계층의 세부 정보가 표시됩니다. 가격 책정 계층은 S1이며, A-시리즈 가상 머신에서 실행되는 100개의 Azure 컴퓨팅 단위와 1.75GB의 메모리가 제공됩니다.
테스트 클라이언트 앱 실행
화면 오른쪽의 Cloud Shell 창에서 ~/mslearn-hotel-reservation-system/src/HotelReservationSystemTestClient 폴더로 이동합니다.
cd ~/mslearn-hotel-reservation-system/src/HotelReservationSystemTestClient
클라이언트 앱을 실행합니다. 시스템을 몇 분 동안 실행합니다. 이전 연습의 시작 부분에서와 마찬가지로 응답은 느립니다. 클라이언트 요청이 HTTP 408(시간 제한) 오류로 곧 실패합니다.
dotnet run
앱을 계속 실행합니다. 또 다시 5분 동안 기다립니다. 그런 다음, Azure Portal의 대시보드에서 웹앱에 대한 메트릭을 보여 주는 차트로 이동합니다. 이전 연습에서와 같이 통계에서 응답 시간이 비교적 느리고 HTTP 4xx 오류가 많음을 알 수 있습니다.
웹앱 강화 및 결과 모니터링
Azure Portal에서 App Service 계획 페이지로 돌아갑니다.
설정 아래에서 강화(App Service 계획)를 선택합니다.
P2V2 가격 책정 계층을 선택한 다음, 적용을 선택합니다. 이 가격 책정 계층에는 Dv2-시리즈 VM에서 실행되는 420개 ACU(S1 가격 책정 계층 성능의 4배 초과) 및 7GB 메모리가 제공됩니다. 그러나 이 VM 비용은 S1 가격 책정 계층 실행 비용의 4배입니다.
또 다시 5분 동안 기다린 다음, Azure Portal의 대시보드에서 성능 차트를 봅니다.
시스템을 스케일 업할 때 몇 가지 다른 HTTP 서버 오류가 발생할 수도 있습니다. 이러한 오류는 시스템에서 하드웨어를 전환할 때 중단된 진행 중 클라이언트 요청으로 인해 발생합니다. 강화 후에는 더 많은 프로세서를 사용할 수 있으므로 CPU 시간이 크게 향상됩니다. 규모 확장할 때 확인한 것과 동일한 응답 시간의 감소는 확인할 수 없습니다. 이 동작은 여전히 단일 인스턴스만 사용하고 있기 때문입니다. 확장할 때와 마찬가지로 요청 부하가 분산되지 않습니다. 하지만 이제는 이전보다 더 많은 인스턴스(20개)로 규모 확장할 수 있습니다.
아래 이미지의 차트에서는 웹앱에 대한 성능 메트릭의 예를 보여 줍니다. 시스템이 확장된 지점이 강조 표시되어 있습니다.
클라이언트 앱을 실행하고 있는 Cloud Shell로 돌아갑니다. Enter 키를 선택하여 앱을 중지합니다.