Ćwiczenie — skalowanie aplikacji internetowej w górę

Ukończone

Skalowanie w górę zapewnia bardziej zaawansowane zasoby służące do uruchamiania aplikacji internetowej. Zwiększa również liczbę wystąpień dostępnych do skalowania w poziomie.

W systemie rezerwacji hotelowych zwiększanie skali w poziomie jest potrzebne do obsługi rosnącej liczby gości w aplikacji internetowej. Skalowanie w górę umożliwia dalsze skalowanie w poziomie. Skalowanie w górę jest również prawdopodobnie konieczne do obsługi nowych funkcji dodanych do aplikacji internetowej.

W tym ćwiczeniu przeprowadź skalowanie w górę wdrożonej wcześniej aplikacji internetowej systemu rezerwacji hotelowych. Uruchom tę samą testową aplikację kliencą używaną wcześniej i monitoruj wydajność aplikacji internetowej.

Sprawdzanie bieżącej warstwy cenowej dla aplikacji internetowej

Ważne

Do wykonania tego ćwiczenia potrzebna jest własna subskrypcja platformy Azure. Ponadto mogą zostać naliczone opłaty. Jeśli nie masz jeszcze subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

  1. Zaloguj się w witrynie Azure Portal.

  2. W menu witryny Azure Portal lub na stronie głównej wybierz pozycję Wszystkie zasoby, a następnie przejdź do swojego planu usługi App Service.

  3. W obszarze Ustawienia wybierz pozycję Skaluj w górę (plan usługi App Service). Powinny zostać wyświetlone szczegóły warstwy cenowej Twojego planu usługi App Service. Bieżącą warstwą cenową jest warstwa S1, która zapewnia 100 jednostek obliczeniowych platformy Azure i 1,75 GB pamięci na maszynie wirtualnej z serii A.

    Zrzut ekranu przedstawiający szczegóły warstwy cenowej planu S1 usługi App Service.

Uruchamianie aplikacji klienta testowego

  1. W oknie usługi Cloud Shell w prawej części ekranu przejdź do folderu ~/mslearn-hotel-reservation-system/src/HotelReservationSystemTestClient:

    cd ~/mslearn-hotel-reservation-system/src/HotelReservationSystemTestClient
    
  2. Uruchom aplikację kliencką. Pozwól systemowi działać przez kilka minut. Tak jak na początku poprzedniego ćwiczenia, odpowiedzi są powolne. Żądania klienta wkrótce kończą się niepowodzeniem z błędami HTTP 408 (limit czasu).

    dotnet run
    
  3. Kontynuuj działanie aplikacji. Poczekaj kolejne pięć minut. Następnie przejdź do wykresu, na którym wyświetlane są metryki dla aplikacji internetowej na pulpicie nawigacyjnym w witrynie Azure Portal. Podobnie jak w poprzednim ćwiczeniu, powinny zostać wyświetlone statystyki pokazujące stosunkowo długi czas odpowiedzi i liczne błędy HTTP 4xx.

Skalowanie aplikacji internetowej w górę i monitorowanie wyników

  1. W witrynie Azure Portal wróć do strony planu usługi App Service.

  2. W obszarze Ustawienia wybierz pozycję Skaluj w górę (plan usługi App Service).

  3. Wybierz warstwę cenową P2V2, a następnie wybierz pozycję Zastosuj. Ta warstwa cenowa zapewnia 420 ACU (ponad cztery razy moc warstwy cenowej S1) i 7 GB pamięci działającej na maszynie wirtualnej z serii Dv2. Jednak ta maszyna wirtualna kosztuje cztery razy koszt działania warstwy cenowej S1.

  4. Zaczekaj kolejne pięć minut, a następnie wyświetl wykres wydajności na pulpicie nawigacyjnym w witrynie Azure Portal.

  5. W momencie skalowania systemu w górę mogą wystąpić inne błędy serwera HTTP. Trwające żądania klientów, które zostały przerwane, gdy system przełączyć sprzęt powoduje te błędy. Po zakończeniu skalowania w górę czas procesora CPU skraca się, ponieważ dostępnych jest więcej procesorów. Może nie zauważyć tego samego spadku czasu odpowiedzi, który został wyświetlony podczas skalowania w górę. To zachowanie jest spowodowane tym, że nadal używasz tylko jednego wystąpienia. Żądania nie są zrównoważone, ponieważ były skalowane w poziomie. Ale teraz masz możliwość skalowania w poziomie w więcej wystąpień (20) niż wcześniej.

    Wykres na tej ilustracji przedstawia przykładową metrykę wydajności dla aplikacji internetowej. Punkt, w którym system został przeskalowany w górę, jest zaznaczony.

    Zrzut ekranu przedstawiający wykres wydajności dla aplikacji internetowej z zaznaczonym punktem skalowania w górę.

  6. Wróć do usługi Cloud Shell z uruchomioną aplikacją kliencką. Wybierz Enter, aby zatrzymać aplikację.