Rozwiązywanie problemów z wydajnością maszyny wirtualnej z systemem Windows przy użyciu narzędzia interfejsu wiersza polecenia diagnostyki wydajności (PerfInsights)
Dotyczy: ✔️ maszyny wirtualne z systemem Windows
Rozszerzenie Diagnostyka wydajności (PerfInsights) to narzędzie do samodzielnej diagnostyki, które zbiera i analizuje dane diagnostyczne oraz udostępnia raport ułatwiający rozwiązywanie problemów z wydajnością maszyny wirtualnej z systemem Windows na platformie Azure. Użyj diagnostyki wydajności, aby zidentyfikować i rozwiązać problemy z wydajnością w jednym z dwóch trybów:
- Ciągła diagnostyka (wersja zapoznawcza) zbiera dane z pięciosekundowych interwałów i raportuje szczegółowe informacje umożliwiające podejmowanie działań na temat wysokiego użycia zasobów co pięć minut.
- Diagnostyka na żądanie pomaga rozwiązać bieżący problem z wydajnością z bardziej szczegółowymi danymi, szczegółowymi informacjami i zaleceniami na podstawie danych zebranych w jednym punkcie w czasie.
W tym artykule wyjaśniono, jak pobrać rozszerzenie Diagnostyka wydajności do maszyny wirtualnej z systemem Windows i uruchomić narzędzie przy użyciu narzędzia interfejsu wiersza polecenia. Możesz również uruchomić diagnostykę wydajności z poziomu portalu i wdrożyć rozszerzenie Diagnostyka wydajności przy użyciu szablonu usługi ARM lub programu PowerShell.
Jeśli występują problemy z wydajnością maszyn wirtualnych, przed skontaktowaniem się z pomocą techniczną uruchom diagnostykę wydajności.
Obsługiwane scenariusze rozwiązywania problemów
Diagnostyka wydajności umożliwia rozwiązywanie problemów z różnymi scenariuszami. W poniższych sekcjach opisano typowe scenariusze używania diagnostyki wydajności ciągłej i na żądanie w celu identyfikowania i rozwiązywania problemów z wydajnością. Porównanie diagnostyki wydajności ciągłej i na żądanie można znaleźć w temacie Performance Diagnostics insights and reports (Szczegółowe informacje i raporty dotyczące diagnostyki wydajności)
Uwaga 16.
Aby uzyskać informacje o korzystaniu z narzędzia PerfInsights w zestawie skalowania maszyn wirtualnych platformy Azure, zobacz PerfInsights i wystąpienia maszyn wirtualnych zestawu skalowania.
Ciągła diagnostyka
Diagnostyka ciągłej wydajności umożliwia identyfikowanie wysokiego użycia zasobów przez regularne monitorowanie maszyny wirtualnej w następujących celach:
- Wysokie użycie procesora CPU: wykrywa wysokie okresy użycia procesora CPU i pokazuje największych użytkowników użycia procesora CPU w tych okresach.
- Wysokie użycie pamięci: wykrywa okresy wysokiego użycia pamięci i pokazuje użytkowników najwyższego użycia pamięci w tych okresach.
- Wysokie użycie dysku: wykrywa okresy wysokiego użycia dysku na dyskach fizycznych i pokazuje użytkowników najwyższego użycia dysków w tych okresach.
Diagnostyka na żądanie
Szybka analiza
Ten scenariusz zbiera konfigurację dysku i inne ważne informacje, w tym:
Dzienniki zdarzeń
Stan sieci dla wszystkich połączeń przychodzących i wychodzących
Ustawienia konfiguracji sieci i zapory
Lista zadań dla wszystkich aplikacji, które są aktualnie uruchomione w systemie
Ustawienia konfiguracji bazy danych programu Microsoft SQL Server (jeśli maszyna wirtualna jest identyfikowana jako serwer z uruchomionym programem SQL Server)
Liczniki niezawodności magazynu
Ważne poprawki systemu Windows
Zainstalowane sterowniki filtrów
Jest to pasywna kolekcja informacji, które nie powinny mieć wpływu na system.
Uwaga 16.
Ten scenariusz jest automatycznie uwzględniany w każdym z następujących scenariuszy.
Benchmarking
W tym scenariuszu jest uruchamiany test porównawczy diskspd (IOPS i MBPS) dla wszystkich dysków dołączonych do maszyny wirtualnej.
Uwaga 16.
Ten scenariusz może mieć wpływ na system i nie powinien być uruchamiany w systemie produkcyjnym na żywo. W razie potrzeby uruchom ten scenariusz w dedykowanym oknie obsługi, aby uniknąć problemów. Zwiększone obciążenie spowodowane przez test śledzenia lub testu porównawczego może negatywnie wpłynąć na wydajność maszyny wirtualnej.
Analiza wydajności
W tym scenariuszu jest uruchamiany ślad licznika wydajności przy użyciu liczników określonych w pliku RuleEngineConfig.json. Jeśli maszyna wirtualna zostanie zidentyfikowana jako serwer z uruchomionym programem SQL Server, zostanie uruchomiony ślad licznika wydajności. Robi to przy użyciu liczników znalezionych w pliku RuleEngineConfig.json. Ten scenariusz obejmuje również dane diagnostyczne wydajności.
Analiza usługi Azure Files
W tym scenariuszu jest uruchamiane specjalne przechwytywanie licznika wydajności wraz ze śladem sieci. Przechwytywanie obejmuje wszystkie liczniki udziałów klienta bloku komunikatów serwera (SMB). Poniżej przedstawiono niektóre kluczowe liczniki wydajności udziału klienta SMB, które są częścią przechwytywania:
Type | Licznik udziałów klienta SMB |
---|---|
Liczba operacji we/wy na sekundę | Żądania danych na sekundę |
Odczyt żądań na sekundę | |
Żądania zapisu na sekundę | |
Opóźnienie | Średnia liczba s/żądanie danych |
Średnia liczba sekund/odczyt | |
Średnia liczba sekund/zapis | |
Rozmiar operacji we/wy | Średnia liczba bajtów/żądanie danych |
Średnia liczba bajtów/odczyt | |
Średnia liczba bajtów/zapis | |
Produktywność | Bajty danych na sekundę |
Bajty odczytu/s | |
Bajty zapisu/s | |
Długość kolejki | Średnia długość kolejki odczytu |
Średnia długość kolejki zapisu | |
Średnia długość kolejki danych |
Zaawansowana analiza wydajności
Po uruchomieniu zaawansowanej analizy wydajności wybierasz ślady, które mają być uruchamiane równolegle. Jeśli chcesz, możesz uruchomić je wszystkie (Licznik wydajności, Xperf, Sieć i StorPort).
Uwaga 16.
Ten scenariusz może mieć wpływ na system i nie powinien być uruchamiany w systemie produkcyjnym na żywo. W razie potrzeby uruchom ten scenariusz w dedykowanym oknie obsługi, aby uniknąć problemów. Zwiększone obciążenie spowodowane przez test śledzenia lub testu porównawczego może negatywnie wpłynąć na wydajność maszyny wirtualnej.
Jakie informacje zbiera diagnostyka wydajności w systemie Windows?
Zbierane są informacje o konfiguracji maszyn wirtualnych z systemem Windows, dyskach lub pulach magazynu, licznikach wydajności, dziennikach i różnych śladach. Zależy to od używanego scenariusza wydajności. Szczegóły zawiera poniższa tabela:
Zebrane dane | Szybka analiza wydajności | Benchmarking | Analiza wydajności | Analiza usługi Azure Files | Zaawansowana analiza wydajności |
---|---|---|---|---|---|
Informacje z dzienników zdarzeń | Tak | Tak | Tak | Tak | Tak |
Informacje o systemie | Tak | Tak | Tak | Tak | Tak |
Mapa woluminów | Tak | Tak | Tak | Tak | Tak |
Mapa dysku | Tak | Tak | Tak | Tak | Tak |
Uruchamianie zadań | Tak | Tak | Tak | Tak | Tak |
Liczniki niezawodności magazynu | Tak | Tak | Tak | Tak | Tak |
Informacje o magazynie | Tak | Tak | Tak | Tak | Tak |
Dane wyjściowe narzędzia Fsutil | Tak | Tak | Tak | Tak | Tak |
Filtruj informacje o sterowniku | Tak | Tak | Tak | Tak | Tak |
Dane wyjściowe netstat | Tak | Tak | Tak | Tak | Tak |
Konfiguracja sieci | Tak | Tak | Tak | Tak | Tak |
Konfiguracja zapory | Tak | Tak | Tak | Tak | Tak |
Konfiguracja usługi SQL Server | Tak | Tak | Tak | Tak | Tak |
Ślady diagnostyki wydajności * | Tak | Tak | Tak | Tak | Tak |
Śledzenie licznika wydajności ** | Tak | Tak | |||
Śledzenie licznika protokołu SMB ** | Tak | ||||
Śledzenie licznika programu SQL Server ** | Tak | Tak | |||
Ślad Xperf | Tak | ||||
Śledzenie storportu | Tak | ||||
Śledzenie sieci | Tak | Tak | |||
Śledzenie testu porównawczego diskspd *** | Tak | ||||
Śledzenie diagnostyki wydajności (*)
Uruchamia aparat oparty na regułach w tle, aby zbierać dane i diagnozować bieżące problemy z wydajnością. Reguły są wyświetlane w raporcie na karcie Kategoria —> Znajdowanie.
Każda reguła składa się z następujących elementów:
- Znalezienie: Opis znalezienia.
- Zalecenie: zalecenie dotyczące tego, jakie działania można podjąć w celu znalezienia. Istnieją również linki referencyjne do dokumentacji zawierającej więcej informacji na temat znajdowania i/lub rekomendacji.
- Poziom wpływu: reprezentuje potencjał wpływu na wydajność.
Obecnie obsługiwane są następujące kategorie reguł:
- Wysokie użycie zasobów:
- Wysokie użycie procesora CPU: wykrywa wysokie okresy użycia procesora CPU i pokazuje największych użytkowników użycia procesora CPU w tych okresach.
- Wysokie użycie pamięci: wykrywa okresy wysokiego użycia pamięci i pokazuje użytkowników najwyższego użycia pamięci w tych okresach.
- Wysokie użycie dysku: wykrywa okresy wysokiego użycia dysku na dyskach fizycznych i pokazuje użytkowników najwyższego użycia dysków w tych okresach.
- Użycie dysku o wysokiej rozdzielczości: przedstawia metryki liczby operacji we/wy, przepływności i opóźnienia we/wy na 50 milisekund dla każdego dysku fizycznego. Ułatwia szybkie identyfikowanie okresów ograniczania przepustowości dysku.
- Baza wiedzy: wykrywa, czy nie zainstalowano określonych artykułów bazy wiedzy.
- Dysk: wykrywa określone ustawienia konfiguracji dysku.
- SQL: wykrywa określone ustawienia SQL.
- Sieć: wykrywa określone ustawienia sieciowe.
- Klaster serwerów: wykrywa określone ustawienia konfiguracji klastra serwerów.
- System: wykrywa określone ustawienia konfiguracji systemu.
- CLR: Wykrywa długie wstrzymanie odzyskiwania pamięci w zarządzanych procesach.
Uwaga 16.
Obecnie obsługiwane są wersje systemu Windows zawierające program .NET Framework 4.5 lub nowsze.
Śledzenie licznika wydajności (**)
Zbiera następujące liczniki wydajności:
- \System, \Process, \Processor, \Memory, \Thread, \PhysicalDisk i \LogicalDisk
- \Cache\Dirty Pages, \Cache\Lazy Write Flushes/sec, \Server\Pool Nonpaged, Failures i \Server\Pool Paged Failures
- Wybrane liczniki w obszarze \Interfejs sieciowy, \IPv4\Datagrams, \IPv6\Datagrams, \TCPv4\Segments, \TCPv6\Segments, \Network Adapter, \WFPv4\Packets, \WFPv6\Packets, \UDPv4\Datagrams, \UDPv6\Datagrams, \TCPv4\Connection, \TCPv6\Connection, \Network QoS Policy\Packets, \Per Processor Network Interface Interface Activity, i \Microsoft Winsock BSP
W przypadku wystąpień programu SQL Server
- \SQL Server:Buffer Manager, \SQLServer:Resource Pool Stats i \SQLServer:SQL Statistics\
- \SQLServer:Locks, \SQLServer:General, Statistics
- \SQLServer:Metody dostępu
W przypadku usługi Azure Files
\SMB Client Shares
Śledzenie testu porównawczego diskspd (***)
Testy obciążenia we/wy dysku (dysk systemu operacyjnego [zapis] i dyski puli [odczyt/zapis])
Uruchamianie diagnostyki wydajności na maszynie wirtualnej przy użyciu narzędzia interfejsu wiersza polecenia
Co muszę wiedzieć przed uruchomieniem narzędzia?
Wymagania dotyczące narzędzi
To narzędzie musi być uruchamiane na maszynie wirtualnej, która ma problem z wydajnością.
Obsługiwane są następujące systemy operacyjne:
- Windows Server 2022
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
- Windows Server 2012
- Windows 11
- Windows 10
Uzyskiwanie dostępu do programu SQL Server
Jeśli na maszynie wirtualnej są zainstalowane wystąpienia programu SQL Server, narzędzie PerfInsights używa konta NT AUTHORITY\SYSTEM do uzyskiwania dostępu do wystąpień programu SQL Server w celu zbierania informacji o konfiguracji i uruchamiania reguł. Konto NT AUTHORITY\SYSTEM musi mieć przyznane uprawnienie Wyświetl stan serwera i Połącz sql uprawnienia dla każdego wystąpienia. W przeciwnym razie program PerfInsights nie będzie mógł nawiązać połączenia z programem SQL Server, a raport narzędzia PerfInsights nie będzie zawierać żadnych informacji pokrewnych programu SQL Server.
Możliwe problemy podczas uruchamiania narzędzia na produkcyjnych maszynach wirtualnych
W scenariuszu porównawczym lub scenariuszu "Zaawansowana analiza wydajności", który jest skonfigurowany do używania narzędzia Xperf lub Diskspd, narzędzie może niekorzystnie wpłynąć na wydajność maszyny wirtualnej. Te scenariusze nie powinny być uruchamiane w środowisku produkcyjnym na żywo.
W scenariuszu porównawczym lub scenariuszu "Zaawansowana analiza wydajności", który jest skonfigurowany do używania narzędzia Diskspd, upewnij się, że żadne inne działanie w tle nie zakłóca obciążenia we/wy.
Domyślnie narzędzie używa tymczasowego dysku magazynu do zbierania danych. Jeśli śledzenie pozostanie włączone przez dłuższy czas, ilość zebranych danych może być odpowiednia. Może to zmniejszyć dostępność miejsca na dysku tymczasowym i w związku z tym wpływać na dowolną aplikację, która opiera się na tym dysku.
Jak mogę uruchomić narzędzie PerfInsights?
Narzędzie PerfInsights można uruchomić na maszynie wirtualnej, instalując rozszerzenie maszyny wirtualnej diagnostyki wydajności platformy Azure. Można go również uruchomić jako autonomiczne narzędzie.
Instalowanie i uruchamianie narzędzia PerfInsights w witrynie Azure Portal
Aby uzyskać więcej informacji na temat tej opcji, zobacz Instalowanie rozszerzenia maszyny wirtualnej diagnostyki wydajności platformy Azure.
Uruchamianie narzędzia PerfInsights w trybie autonomicznym
Aby uruchomić narzędzie PerfInsights, wykonaj następujące kroki:
Pobierz PerfInsights.zip.
Odblokuj plik PerfInsights.zip. W tym celu kliknij prawym przyciskiem myszy plik PerfInsights.zip i wybierz polecenie Właściwości. Na karcie Ogólne wybierz pozycję Odblokuj, a następnie wybierz przycisk OK. Ta akcja gwarantuje, że narzędzie działa bez żadnych innych monitów o zabezpieczenia.
Rozwiń skompresowany plik PerfInsights.zip na dysk tymczasowy (domyślnie jest to dysk D).
Otwórz wiersz polecenia systemu Windows jako administrator, a następnie uruchom PerfInsights.exe, aby wyświetlić dostępne parametry wiersza polecenia.
cd <the path of PerfInsights folder> PerfInsights
Podstawową składnią uruchamiania scenariuszy narzędzia PerfInsights jest:
PerfInsights /run <ScenarioName> [AdditionalOptions]
Wyszukaj wszystkie dostępne scenariusze i opcje za pomocą polecenia /list :
PerfInsights /list
Oto przykłady użycia narzędzia interfejsu wiersza polecenia do uruchamiania różnych scenariuszy rozwiązywania problemów:
Uruchom diagnostykę ciągłej wydajności:
PerfInsights /run always on /sau
Aby zatrzymać diagnostykę ciągłej wydajności, naciśnij Ctrl+C lub zamknij terminal.
Uruchom scenariusz analizy wydajności dla 5 minut:
PerfInsights /run vmslow /d 300 /AcceptDisclaimerAndShareDiagnostics
Uruchom zaawansowany scenariusz ze śladami licznika xperf i wydajności dla 5 minut:
PerfInsights /run advanced xp /d 300 /AcceptDisclaimerAndShareDiagnostics
Uruchom scenariusz testów porównawczych dla 5 minut:
PerfInsights /run benchmark /d 300 /AcceptDisclaimerAndShareDiagnostics
Uruchom scenariusz analizy wydajności dla 5 minut i przekaż plik zip wyniku do konta magazynu:
PerfInsights /run vmslow /d 300 /AcceptDisclaimerAndShareDiagnostics /sa <StorageAccountName> /sk <StorageAccountKey>
Uwaga 16.
Przed uruchomieniem scenariusza program PerfInsights monituje użytkownika o zaakceptowanie udostępniania informacji diagnostycznych i zaakceptowanie umowy LICENCYJNEj. Użyj opcji /AcceptDisclaimerAndShareDiagnostics , aby pominąć te monity.
Jeśli masz aktywny bilet pomocy technicznej dla firmy Microsoft i uruchamiasz narzędzie PerfInsights zgodnie z żądaniem inżyniera pomocy technicznej, z którym pracujesz, upewnij się, że podaj numer biletu pomocy technicznej przy użyciu /sr opcji.
Domyślnie program PerfInsights spróbuje zaktualizować się do najnowszej wersji, jeśli jest dostępna. Użyj /SkipAutoUpdate lub /sau parametru, aby pominąć automatyczną aktualizację.
Jeśli przełącznik czasu trwania /d nie zostanie określony, program PerfInsights wyświetli monit o ponowne odtworzenie problemu podczas uruchamiania maszyn wirtualnych vmslow, azurefiles i zaawansowanych scenariuszy.
Po zakończeniu śledzenia lub operacji nowy plik pojawi się w tym samym folderze co narzędzie PerfInsights. Nazwa pliku to PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip. Możesz wysłać ten plik do agenta pomocy technicznej na potrzeby analizy lub otworzyć raport w pliku zip, aby przejrzeć wyniki i zalecenia.
Przeglądanie raportu diagnostycznego
W pliku PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip można znaleźć raport HTML zawierający szczegółowe informacje o wynikach narzędzia PerfInsights. Aby przejrzeć raport, rozwiń plik PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip , a następnie otwórz plik Report.html narzędzia PerfInsights.
Wybierz kartę Wyniki .
Uwaga 16.
Wyniki sklasyfikowane jako wysokie to znane problemy, które mogą powodować problemy z wydajnością. Wyniki sklasyfikowane jako średnie reprezentują nieznimne konfiguracje, które niekoniecznie powodują problemy z wydajnością. Wyniki sklasyfikowane jako niskie są tylko instrukcjami informacyjnymi.
Przejrzyj zalecenia i linki do wszystkich wyników o wysokim i średnim poziomie. Dowiedz się, jak mogą wpływać na wydajność, a także o najlepszych rozwiązaniach dotyczących konfiguracji zoptymalizowanych pod kątem wydajności.
Karta Magazyn
W sekcji Wyniki są wyświetlane różne ustalenia i zalecenia związane z magazynem.
W sekcjach Mapa dysku i Mapa woluminów opisano, jak woluminy logiczne i dyski fizyczne są ze sobą powiązane.
W perspektywie dysku fizycznego (Mapa dysku) w tabeli przedstawiono wszystkie woluminy logiczne, które są uruchomione na dysku. W poniższym przykładzie usługa PhysicalDrive2 uruchamia dwa woluminy logiczne utworzone na wielu partycjach (J i H):
W perspektywie woluminu (Mapa woluminów) tabele pokazują wszystkie dyski fizyczne w ramach każdego woluminu logicznego. Zwróć uwagę, że w przypadku dysków RAID/Dynamicznych można uruchomić wolumin logiczny na wielu dyskach fizycznych. W poniższym przykładzie C:\mount jest punktem instalacji skonfigurowanym jako SpannedDisk na dyskach fizycznych 2 i 3:
Karta SQL
Jeśli docelowa maszyna wirtualna hostuje dowolne wystąpienia programu SQL Server, w raporcie zostanie wyświetlona inna karta o nazwie SQL:
Ta sekcja zawiera kartę Wyniki i dodatkowe karty dla każdego wystąpienia programu SQL Server hostowanego na maszynie wirtualnej.
Karta Wyniki zawiera listę wszystkich znalezionych problemów z wydajnością związanych z programem SQL wraz z zaleceniami.
W poniższym przykładzie zostanie wyświetlona usługa PhysicalDrive0 (z uruchomionym dyskiem C). Jest to spowodowane tym, że zarówno pliki modeldev , jak i modellog znajdują się na dysku C i są różne typy (na przykład plik danych i dziennik transakcji, odpowiednio).
Karty dla określonych wystąpień programu SQL Server zawierają sekcję ogólną zawierającą podstawowe informacje o wybranym wystąpieniu. Karty zawierają również więcej sekcji dotyczących zaawansowanych informacji, w tym ustawień, konfiguracji i opcji użytkownika.
Karta Diagnostyka
Karta Diagnostyka zawiera informacje o najważniejszych użytkownikach procesora CPU, dysku i pamięci na komputerze podczas uruchamiania diagnostyki wydajności. Możesz również znaleźć informacje o krytycznych poprawkach, których system może brakować, liście zadań i ważnych zdarzeniach systemowych.
Odwołania do używanych narzędzi zewnętrznych
Diskspd
Diskspd to generator obciążenia magazynu i narzędzie do testowania wydajności firmy Microsoft. Aby uzyskać więcej informacji, zobacz Diskspd.
Xperf
Xperf to narzędzie wiersza polecenia służące do przechwytywania śladów z zestawu narzędzi Windows Performance Toolkit. Aby uzyskać więcej informacji, zobacz Windows Performance Toolkit — Xperf.
Następne kroki
Możesz przekazać dzienniki diagnostyczne i raporty do pomoc techniczna firmy Microsoft w celu dalszej weryfikacji. Pomoc techniczna może poprosić o przesłanie danych wyjściowych generowanych przez program PerfInsights w celu ułatwienia procesu rozwiązywania problemów.
Poniższy zrzut ekranu przedstawia komunikat podobny do tego, co może zostać wyświetlone:
Postępuj zgodnie z instrukcjami w komunikacie, aby uzyskać dostęp do obszaru roboczego transferu plików. Aby zapewnić dodatkowe zabezpieczenia, musisz zmienić hasło podczas pierwszego użycia.
Po zalogowaniu się znajdziesz okno dialogowe umożliwiające przekazanie pliku PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip zebranego przez program PerfInsights.
Skontaktuj się z nami, aby uzyskać pomoc
Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii na temat platformy Azure.