Testowanie wydajności usługi w chmurze

Uwaga

Ten artykuł dotyczy usług Azure Cloud Services (wersja klasyczna), która jest obecnie przestarzała dla nowych klientów i zostanie wycofana 31 sierpnia 2024 r. Istniejące usługi utworzone za pomocą tej technologii są nadal obsługiwane za pośrednictwem usług Azure Cloud Services (wsparcie dodatkowe). W przypadku nowego programowania zalecamy użycie nowszego typu usługi przeznaczonego do określonego celu, takiego jak aplikacja systemu Azure Service, Azure Functions lub Azure Container Apps. Aby uzyskać najnowszą listę dostępnych usług, zobacz Katalog produktów platformy Azure.

Wydajność usługi w chmurze można przetestować w następujący sposób:

Wymagania wstępne

Wybieranie metody testowania wydajnościowego

Użyj Diagnostyka Azure do zbierania:

  • Statystyki dotyczące stron internetowych lub usług, takich jak żądania i połączenia.
  • Statystyki dotyczące ról, takie jak częstotliwość ponownego uruchamiania roli.
  • Ogólne informacje o użyciu pamięci, takie jak procent czasu potrzebny modułu odśmiecającego pamięć lub zestaw pamięci uruchomionej roli.

Użyj profilera programu Visual Studio, aby:

  • Określ, które funkcje zajmują najwięcej czasu.
  • Mierzenie, ile czasu zajmuje każda część programu intensywnie korzystającego z obliczeń.
  • Porównaj szczegółowe raporty wydajności dla dwóch wersji usługi.
  • Przeanalizuj alokację pamięci bardziej szczegółowo niż poziom alokacji poszczególnych pamięci.
  • Analizowanie problemów ze współbieżnością w kodzie wielowątkowym.

Gdy używasz profilera, możesz zbierać dane, gdy usługa w chmurze działa lokalnie lub na platformie Azure.

Zbieranie danych profilowania lokalnie w celu:

  • Przetestuj wydajność części usługi w chmurze, takiej jak wykonywanie określonej roli procesu roboczego, która nie wymaga realistycznego symulowanego obciążenia.
  • Przetestuj wydajność usługi w chmurze w izolacji w kontrolowanych warunkach.
  • Przetestuj wydajność usługi w chmurze przed wdrożeniem jej na platformie Azure.
  • Przetestuj wydajność usługi w chmurze prywatnie bez zakłócania istniejących wdrożeń.
  • Przetestuj wydajność usługi bez naliczania opłat za uruchomienie na platformie Azure.

Zbieranie danych profilowania na platformie Azure w celu:

  • Przetestuj wydajność usługi w chmurze w ramach symulowanego lub rzeczywistego obciążenia.
  • Użyj metody instrumentacji zbierania danych profilowania, jak opisano w dalszej części tego tematu.
  • Przetestuj wydajność usługi w tym samym środowisku, co w przypadku uruchomienia usługi w środowisku produkcyjnym.

Zwykle symulujesz obciążenie w celu testowania usług w chmurze w normalnych warunkach lub stresu.

Profilowanie usługi w chmurze na platformie Azure

Po opublikowaniu usługi w chmurze z poziomu programu Visual Studio możesz profilować usługę i określić ustawienia profilowania, które zapewniają żądane informacje. Sesja profilowania jest uruchamiana dla każdego wystąpienia roli. Aby uzyskać więcej informacji na temat publikowania usługi z programu Visual Studio, zobacz Publikowanie w usłudze w chmurze platformy Azure z poziomu programu Visual Studio.

Aby dowiedzieć się więcej na temat profilowania wydajności w programie Visual Studio, zobacz Przewodnik dla początkujących dotyczący profilowania wydajności i analizowania wydajności aplikacji przy użyciu narzędzi profilowania.

Uwaga

Podczas publikowania usługi w chmurze można włączyć funkcję IntelliTrace lub profilowanie. Nie można włączyć obu tych elementów.

Metody zbierania profilera

Możesz użyć różnych metod zbierania na potrzeby profilowania na podstawie problemów z wydajnością:

  • Próbkowanie procesora CPU — ta metoda zbiera statystyki aplikacji, które są przydatne do wstępnej analizy problemów z użyciem procesora CPU. Próbkowanie procesora CPU to sugerowana metoda uruchamiania większości badań wydajności. Istnieje niewielki wpływ na aplikację, którą profilujesz podczas zbierania danych próbkowania procesora CPU.
  • Instrumentacja — ta metoda zbiera szczegółowe dane o chronometrażu, które są przydatne do ukierunkowanej analizy i analizowania problemów z wydajnością danych wejściowych/wyjściowych. Metoda instrumentacji rejestruje każdy wpis, zakończenie i wywołanie funkcji funkcji w module podczas przebiegu profilowania. Ta metoda jest przydatna do zbierania szczegółowych informacji o chronometrażu dotyczących sekcji kodu oraz zrozumienia wpływu operacji wejściowych i wyjściowych na wydajność aplikacji. Ta metoda jest wyłączona dla komputera z 32-bitowym systemem operacyjnym. Ta opcja jest dostępna tylko w przypadku uruchamiania usługi w chmurze na platformie Azure, a nie lokalnie w emulatorze obliczeniowym.
  • Alokacja pamięci platformy .NET — ta metoda zbiera dane alokacji pamięci programu .NET Framework przy użyciu metody profilowania próbkowania. Zebrane dane obejmują liczbę i rozmiar przydzielonych obiektów.
  • Współbieżność — ta metoda zbiera dane rywalizacji o zasoby oraz dane wykonywania procesów i wątków, które są przydatne podczas analizowania aplikacji wielowątkowych i wieloprocesowych. Metoda współbieżności zbiera dane dla każdego zdarzenia, które blokuje wykonywanie kodu, na przykład gdy wątek czeka na zablokowany dostęp do zasobu aplikacji do zwolnienia. Ta metoda jest przydatna do analizowania aplikacji wielowątkowych.
  • Można również włączyć profilowanie interakcji warstwy, które udostępnia dodatkowe informacje na temat czasów wykonywania synchronicznych wywołań ADO.NET w funkcjach wielowarstwowych aplikacji komunikujących się z co najmniej jedną bazą danych. Dane interakcji warstwy można zbierać z dowolną z metod profilowania. Aby uzyskać więcej informacji na temat profilowania interakcji warstwy, zobacz Widok interakcji warstwy.

Konfigurowanie ustawień profilowania

Poniższa ilustracja przedstawia sposób konfigurowania ustawień profilowania w oknie dialogowym Publikowanie aplikacja systemu Azure.

Konfigurowanie Ustawienia profilowania

Uwaga

Aby włączyć pole wyboru Włącz profilowanie , musisz mieć zainstalowany profiler na komputerze lokalnym, którego używasz do publikowania usługi w chmurze. Domyślnie profiler jest instalowany podczas instalowania programu Visual Studio.

Aby skonfigurować ustawienia profilowania

  1. W Eksplorator rozwiązań otwórz menu skrótów dla projektu platformy Azure, a następnie wybierz pozycję Publikuj. Aby uzyskać szczegółowe instrukcje dotyczące publikowania usługi w chmurze, zobacz Publikowanie usługi w chmurze przy użyciu narzędzi platformy Azure.

  2. W oknie dialogowym Publikowanie aplikacja systemu Azure wybierz kartę Zaawansowane Ustawienia.

  3. Aby włączyć profilowanie, zaznacz pole wyboru Włącz profilowanie .

  4. Aby skonfigurować ustawienia profilowania, wybierz hiperlink Ustawienia. Zostanie wyświetlone okno dialogowe Profilowanie Ustawienia.

  5. W obszarze Jaką metodę profilowania chcesz użyć przycisków opcji, wybierz potrzebny typ profilowania.

  6. Aby zebrać dane profilowania interakcji warstwy, zaznacz pole wyboru Włącz profilowanie interakcji warstwy .

  7. Aby zapisać ustawienia, wybierz przycisk OK .

    Podczas publikowania tej aplikacji te ustawienia są używane do tworzenia sesji profilowania dla każdej roli.

Wyświetlanie raportów profilowania

Sesja profilowania jest tworzona dla każdego wystąpienia roli w usłudze w chmurze. Aby wyświetlić raporty profilowania każdej sesji z programu Visual Studio, możesz wyświetlić okno Eksplorator serwera, a następnie wybrać węzeł Azure Compute, aby wybrać wystąpienie roli. Następnie możesz wyświetlić raport profilowania, jak pokazano na poniższej ilustracji.

Wyświetlanie raportu profilowania z platformy Azure

Aby wyświetlić raporty profilowania

  1. Aby wyświetlić okno Eksplorator serwera w programie Visual Studio, na pasku menu wybierz pozycję Widok, Eksplorator serwera.

  2. Wybierz węzeł Azure Compute, a następnie wybierz węzeł wdrażania platformy Azure dla usługi w chmurze wybranej do profilowania po opublikowaniu w programie Visual Studio.

  3. Aby wyświetlić raporty profilowania dla wystąpienia, wybierz rolę w usłudze, otwórz menu skrótów dla określonego wystąpienia, a następnie wybierz pozycję Wyświetl raport profilowania.

    Raport, .vsp plik, jest teraz pobierany z platformy Azure, a stan pobierania jest wyświetlany w dzienniku aktywności platformy Azure. Po zakończeniu pobierania raport profilowania zostanie wyświetlony na karcie w edytorze programu Visual Studio o nazwie <Identyfikator numeru>>< wystąpienia nazwy><roli.vsp. Zostanie wyświetlone podsumowanie danych raportu.

  4. Aby wyświetlić różne widoki raportu, na liście Bieżący widok wybierz odpowiedni typ widoku. Aby uzyskać więcej informacji, zobacz Profileing Tools Report Views (Widoki raportów narzędzi profilowania).

Debugowanie usług w chmurze

Publikowanie w usłudze w chmurze platformy Azure z poziomu programu Visual Studio