Rozwiązywanie problemów z wydajnością maszyny wirtualnej platformy Azure w systemie Linux lub Windows
Dotyczy: ✔️ Maszyny wirtualne z systemem Linux maszyny wirtualne z ✔️ systemem Windows
W tym artykule opisano ogólne rozwiązywanie problemów z wydajnością maszyny wirtualnej poprzez monitorowanie i obserwowanie wąskich gardeł oraz zapewnia możliwe korygowanie problemów, które mogą wystąpić. Oprócz monitorowania można również użyć narzędzia Perfinsights, które mogą udostępniać raport z zaleceniami dotyczącymi najlepszych rozwiązań i kluczowymi wąskimi gardłami dotyczącymi operacji we/wy/procesora CPU/pamięci. Narzędzie Perfinsights jest dostępne zarówno dla maszyn wirtualnych z systemem Windows , jak i Linux na platformie Azure.
W tym artykule przedstawiono sposób używania monitorowania do diagnozowania wąskich gardeł wydajności.
Włączanie diagnostyki maszyny wirtualnej za pośrednictwem witryny Azure Portal
Aby włączyć diagnostykę maszyny wirtualnej:
Przejdź do maszyny wirtualnej.
W sekcji Monitorowanie wybierz pozycję Ustawienia diagnostyczne.
Wybierz konto magazynu, a następnie wybierz pozycję Włącz monitorowanie na poziomie gościa.
Wyświetlanie metryk konta magazynu za pośrednictwem witryny Azure Portal (dla dysku niezarządzanych)
W przypadku maszyn wirtualnych korzystających z dysków niezarządzanych magazyn jest bardzo ważną warstwą podczas analizowania wydajności operacji we/wy. W przypadku metryk związanych z magazynem musimy włączyć diagnostykę jako dodatkowy krok:
Zidentyfikuj konto magazynu (lub konta) używane przez maszynę wirtualną, wybierając maszynę wirtualną:
- W witrynie Azure Portal wybierz maszynę wirtualną.
- W obszarze Ustawienia wybierz pozycję Dysk, a następnie znajdź konto magazynu, na którym jest zapisany dysk.
- Przejdź do konta magazynu i wybierz pozycję Metryki.
Identyfikowanie wąskich gardeł wydajności
Po zakończeniu początkowego procesu konfiguracji wymaganych metryk i po włączeniu diagnostyki dla maszyny wirtualnej i powiązanego konta magazynu możemy przejść do fazy analizy.
Uzyskiwanie dostępu do monitorowania
W witrynie Azure Portal wybierz maszynę wirtualną platformy Azure, którą chcesz zbadać, wybierz pozycję Metryki w sekcji Monitorowanie , a następnie wybierz metrykę.
Osie czasu obserwacji
Aby określić, czy istnieją wąskie gardła zasobów, przejrzyj dane. Jeśli okaże się, że maszyna działa prawidłowo, ale została zgłoszona, że wydajność została niedawno obniżona, przejrzyj zakres czasu danych, który obejmuje dane metryki wydajności przed zgłoszoną zmianą, w trakcie i po wystąpieniu problemu.
Sprawdzanie wąskiego gardła procesora CPU
- Ustaw zakres czasu.
- W obszarze Metryka wybierz pozycję Procent użycia procesora CPU.
Monitorowanie trendów wydajności procesora CPU
Podczas przeglądania problemów z wydajnością należy pamiętać o trendach i zrozumieć, czy mają one wpływ na Ciebie. W następnych sekcjach użyjemy wykresów monitorowania z portalu, aby pokazać trendy. Mogą one być również przydatne w przypadku zachowań zasobów różnicy krzyżowej w tym samym okresie. Aby dostosować wykresy, kliknij pozycję Platforma danych usługi Azure Monitor.
Spiking — spiking może być związany z zaplanowanym zadaniem/znanym zdarzeniem. Jeśli możesz zidentyfikować zadanie, ustal, czy zadanie jest uruchamiane na wymaganym poziomie wydajności. Jeśli wydajność jest akceptowalna, może nie być konieczne zwiększenie zasobów.
Skok w górę i stała — często wskazuje nowe obciążenie. Jeśli nie jest to rozpoznane obciążenie, włącz monitorowanie na maszynie wirtualnej, aby dowiedzieć się, jaki proces (lub procesy) powoduje zachowanie. Po rozpoznaniu procesu ustal, czy zwiększone zużycie jest spowodowane nieefektywnym kodem, czy normalnym zużyciem. W przypadku normalnego użycia zdecyduj, czy proces działa na wymaganym poziomie wydajności.
Stała — określ, czy maszyna wirtualna zawsze działa na tym poziomie, czy jest uruchomiona tylko na tym poziomie od czasu włączenia diagnostyki. Jeśli tak, zidentyfikuj proces (lub procesy) powodujący problem i rozważ dodanie większej liczby tych zasobów.
Stale rosnące — stały wzrost zużycia jest często nieefektywny kod lub proces, który zajmuje więcej obciążeń użytkowników.
Korygowanie wysokiego poziomu wykorzystania procesora CPU
Jeśli aplikacja lub proces nie działa optymalnie, a użycie procesora CPU pozostaje powyżej 95%, możesz wykonać jedną z następujących zadań:
- W celu natychmiastowego skorygowania — zwiększ rozmiar maszyny wirtualnej tak, aby uzyskać większą liczbę rdzeni
- W celu zrozumienia problemu — zlokalizuj aplikację/proces i wykonaj odpowiednie procedury rozwiązywania problemów.
Jeśli zwiększono rozmiar maszyny wirtualnej, a procesor CPU jest nadal obciążony w ponad 95%, ustal, czy to ustawienie zapewnia wzrost wydajności lub przepływności aplikacji do akceptowalnego poziomu. Jeśli nie, rozwiąż problemy z konkretną aplikacją lub konkretnym procesem.
Możesz użyć narzędzia Perfinsights dla systemu Windows lub Linux, aby przeanalizować, który proces przyczynia się do zwiększonego użycie procesora CPU.
Sprawdzanie wąskiego gardła pamięci
Aby wyświetlić metryki:
- Dodaj sekcję.
- Dodaj kafelek.
- Otwórz galerię.
- Wybierz pozycję Użycie pamięci i przeciągnij. Po zadokowaniu kafelka kliknij prawym przyciskiem myszy i wybierz pozycję 6x4.
Monitorowanie trendów wydajności pamięci
Użycie pamięci pokazuje ilość pamięci zużywanej przez maszynę wirtualną. Poznaj trend i określa, czy jest mapowania na czas, w którym występują problemy. Zawsze należy mieć więcej niż 100 MB dostępnej pamięci.
Wzrost i stałe/stałe stałe zużycie pamięci — wysokie wykorzystanie pamięci może nie być przyczyną złej wydajności, ponieważ niektóre aplikacje, takie jak relacyjne aparaty baz danych, przydzielają dużą ilość pamięci, a to wykorzystanie może nie być znaczące. Jeśli jednak istnieje wiele aplikacji z głodem pamięci, może wystąpić niska wydajność rywalizacji o pamięć, powodując przycinanie i stronicowanie/zamiana na dysk. Ta niska wydajność jest często zauważalną przyczyną wpływu na wydajność aplikacji.
Stale rosnące zużycie — możliwa aplikacja "rozgrzewająca", to zużycie jest powszechne wśród aparatów baz danych podczas uruchamiania. Jednak może to również być oznaką przecieku pamięci w aplikacji. Zidentyfikuj aplikację i dowiedz się, czy zachowanie jest oczekiwane.
Użycie pliku stronicowania lub zamiany — sprawdź, czy używasz pliku stronicowania systemu Windows (znajdującego się w lokalizacji D:) lub pliku zamiany systemu Linux (znajdującego się w /dev/sdb
lokalizacji ) są intensywnie używane. Jeśli nie masz nic na tych woluminach z wyjątkiem tych plików, sprawdź, czy na tych dyskach znajdują się wysokie odczyty/zapisy. Ten problem wskazuje na niskie warunki pamięci.
Korygowanie wysokiego wykorzystania pamięci
Aby rozwiązać problemy z wysokim wykorzystaniem pamięci, wykonaj dowolne z następujących zadań:
- Aby uzyskać natychmiastową ulgę lub użycie pliku stronicowania lub zamiany — zwiększ rozmiar maszyny wirtualnej do jednego z większą ilością pamięci, a następnie monitoruj.
- Omówienie problemu — lokalizowanie aplikacji/procesów i rozwiązywanie problemów dotyczących identyfikowania aplikacji pamięci o dużym użyciu.
- Jeśli znasz aplikację, sprawdź, czy alokacja pamięci może być ograniczona.
Jeśli po uaktualnieniu do większej maszyny wirtualnej okaże się, że nadal występuje stały wzrost do 100%, zidentyfikuj aplikację/proces i rozwiąż problemy.
Za pomocą narzędzia Perfinsights dla systemu Windows lub Linux możesz przeanalizować, który proces napędza zużycie pamięci.
Sprawdź wąskie gardło dysku (w przypadku dysku niezarządzanych)
Aby sprawdzić podsystem magazynowania maszyny wirtualnej, sprawdź diagnostykę na poziomie maszyny wirtualnej platformy Azure przy użyciu liczników w diagnostyce maszyny wirtualnej, a także diagnostyki konta magazynu.
W przypadku rozwiązywania problemów specyficznych dla maszyny wirtualnej można użyć narzędzia Perfinsights dla systemu Windows lub Linux, co może pomóc w analizie, który proces napędza we/wy.
Pamiętaj, że nie mamy liczników dla kont strefowo nadmiarowych i Premium Storage. W przypadku problemów związanych z tymi licznikami zgłoś zgłoszenie do pomocy technicznej.
Wyświetlanie diagnostyki konta magazynu w monitorowaniu
Aby pracować nad poniższymi elementami, przejdź do konta magazynu maszyny wirtualnej w portalu:
- Ustaw zakres czasu.
- Ustaw przestrzeń nazw metryki na Blob.
- Ustaw wartość Metryka na Dostępność.
Monitorowanie trendów wydajności dysków (tylko magazyn w warstwie Standardowa)
Aby zidentyfikować problemy z magazynem, zapoznaj się z metrykami wydajności z diagnostyki konta magazynu i diagnostyki maszyny wirtualnej.
Dla każdego poniższego sprawdzenia poszukaj kluczowych trendów, gdy problemy występują w zakresie czasu wystąpienia problemu.
Sprawdzanie dostępności usługi Azure Storage — dodawanie metryki konta magazynu: dostępność
Jeśli widzisz spadek dostępności, może wystąpić problem z platformą, sprawdź stan platformy Azure. Jeśli nie zostanie wyświetlony żaden problem, zgłoś nowy wniosek o pomoc techniczną.
Sprawdzanie limitu czasu usługi Azure Storage — dodawanie metryk konta magazynu
- ClientTimeOutError
- ServerTimeOutError
- AverageE2ELatency
- AverageServerLatency
- TotalRequests
Wartości w metrykach *TimeOutError wskazują, że operacja we/wy trwała zbyt długo i przekroczyła limit czasu. Wykonanie następnych kroków pomoże zidentyfikować potencjalne przyczyny.
AverageServerLatency zwiększa się w tym samym czasie w timeOutErrors może być problemem platformy. Zgłoś nowy wniosek o pomoc techniczną w tej sytuacji.
AverageE2ELatency reprezentuje opóźnienie klienta. Sprawdź, jak operacje we/wy na sekundę są wykonywane przez aplikację. Poszukaj metryki TotalRequests ze wzrostem lub stale wysokim poziomem. Ta metryka reprezentuje operacje we/wy na sekundę. Jeśli zaczynasz osiągać limity konta magazynu lub pojedynczego dysku VHD, opóźnienie może być związane z ograniczaniem przepustowości.
Sprawdzanie ograniczania usługi Azure Storage — dodawanie metryk konta magazynu: ThrottlingError
Wartości ograniczania przepustowości wskazują, że ograniczasz przepustowość na poziomie konta magazynu, co oznacza, że osiągasz limit liczby operacji we/wy na sekundę dla konta. Możesz określić, czy osiągasz próg operacji we/wy, sprawdzając metryki TotalRequests.
Należy pamiętać, że każdy wirtualny dysk twardy ma limit 500 operacji we/wy na sekundę lub 60 mb/s, ale jest powiązany z skumulowanym limitem 20000 operacji we/wy na sekundę na konto magazynu.
W przypadku tej metryki nie można określić, który obiekt blob powoduje ograniczenie przepustowości i które ma na nie wpływ. Jednak osiągasz limity liczby operacji we/wy na sekundę lub ruchu przychodzącego/wychodzącego konta magazynu.
Aby określić, czy osiągasz limit liczby operacji we/wy na sekundę, przejdź do diagnostyki konta magazynu i sprawdź łączne elementy żądań, aby sprawdzić, czy zbliżasz się do 20 tysięcy totalRequests. Zidentyfikuj zmianę wzorca, niezależnie od tego, czy limit jest wyświetlany po raz pierwszy, czy też ten limit występuje w określonym czasie.
W przypadku nowych ofert dysków w magazynie w warstwie Standardowa limity liczby operacji we/wy na sekundę i przepływności mogą się różnić, ale skumulowany limit konta magazynu w warstwie Standardowa wynosi 20000 operacji we/wy na sekundę (usługa Premium Storage ma różne limity na poziomie konta lub dysku). Przeczytaj więcej na temat różnych ofert dysków magazynu w warstwie Standardowa i limitów dysków:
Informacje
Przepustowość konta magazynu jest mierzona przez metryki konta magazynu: TotalIngress i TotalEgress. Istnieją różne progi przepustowości w zależności od typu nadmiarowości i regionów:
- Cele skalowalności i wydajności dla kont magazynu w warstwie Standardowa
- Cele skalowalności i wydajności dla kont magazynu obiektów blob stronicowych w warstwie Premium
Sprawdź wartości TotalIngress i TotalEgress względem limitów ruchu przychodzącego i wychodzącego dla typu nadmiarowości i regionu konta magazynu.
Sprawdź limity przepływności wirtualnych dysków twardych dołączonych do maszyny wirtualnej. Dodaj dysk metryk maszyny wirtualnej odczyt i zapis.
Nowe oferty dysków w obszarze Magazyn w warstwie Standardowa mają różne limity liczby operacji we/wy na sekundę i przepływności (liczba operacji we/wy na sekundę nie jest uwidoczniona na dysk VHD). Przyjrzyj się danym, aby sprawdzić, czy osiągasz limity łącznej przepływności MB dysków VHD na poziomie maszyny wirtualnej przy użyciu funkcji Odczyt i zapis dysku, a następnie zoptymalizuj konfigurację magazynu maszyny wirtualnej, aby skalować wcześniejsze limity pojedynczego dysku VHD. Przeczytaj więcej na temat różnych ofert dysków magazynu w warstwie Standardowa i limitów dysków:
Wysokie wykorzystanie dysku/korygowanie opóźnień
Zmniejsz opóźnienie klienta i zoptymalizuj operacje we/wy maszyny wirtualnej, aby skalować wcześniejsze limity wirtualnego dysku twardego
Optymalizowanie operacji we/wy dla systemu Windows na platformie Azure
Optymalizowanie operacji we/wy dla systemu Linux na platformie Azure
Zmniejszanie ograniczania przepustowości
W przypadku osiągnięcia wyższych limitów kont magazynu zrównoważyć ponownie dyski VHD między kontami magazynu. Zapoznaj się z tematem Cele skalowalności i wydajności usługi Azure Storage.
Zwiększanie przepływności i zmniejszanie opóźnienia
Jeśli masz aplikację wrażliwą na opóźnienia i wymagasz wysokiej przepływności, przeprowadź migrację dysków VHD do usługi Azure Premium Storage przy użyciu maszyny wirtualnej z serii DS i GS.
W tych artykułach omówiono konkretne scenariusze:
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.