| Termin | Definicja |
|---|---|
| Monitoring wydajności | Monitoring wydajności to zbieranie i analiza wskaźników obciążenia serwera w celu wykrycia wąskich gardeł. Jakie dane obejmuje monitoring wydajnościMonitoring wydajności polega na ciągłym lub okresowym zbieraniu mierzalnych informacji o pracy systemu komputerowego. W przypadku serwera analizuje się przede wszystkim wykorzystanie procesora, pamięci operacyjnej, przestrzeni dyskowej, interfejsów sieciowych oraz czas obsługi żądań. Sam procent użycia procesora nie wystarcza do oceny stanu systemu, ponieważ obciążenie może wynikać zarówno z obliczeń, jak i z oczekiwania na dane. Dlatego przydatne są także wartości czasu oczekiwania na operacje wejścia-wyjścia, liczba operacji odczytu i zapisu na sekundę, przepustowość oraz długość kolejek urządzeń. Ważnym elementem jest rejestrowanie danych w czasie, a nie tylko wykonywanie pojedynczego pomiaru. Krótkotrwały skok użycia procesora do 100% może być normalnym działaniem zadania cyklicznego, natomiast utrzymujące się obciążenie wraz ze wzrostem czasu odpowiedzi wskazuje na problem wymagający analizy. Zebrane metryki powinny mieć znacznik czasu i, jeśli to możliwe, być porównywane z okresem typowej pracy. Pozwala to odróżnić stałe przeciążenie od incydentu występującego na przykład podczas kopii zapasowej, aktualizacji lub zwiększonego ruchu sieciowego. Wąskie gardła procesora, pamięci i dyskuWąskie gardło powstaje wtedy, gdy jeden element infrastruktury ogranicza przepływ pracy całego systemu. Wysokie użycie procesora może oznaczać intensywne obliczenia, ale również dużą liczbę przerwań sprzętowych, nieefektywny proces lub nieprawidłowo działający sterownik. W systemach wielordzeniowych średnie użycie procesora może wyglądać umiarkowanie, mimo że pojedynczy rdzeń jest stale zajęty. Z tego powodu monitoring powinien, gdy jest to możliwe, pokazywać obciążenie poszczególnych rdzeni oraz czas procesora przypisany konkretnym procesom. Problemy z pamięcią operacyjną ujawniają się między innymi przez stały wzrost zajętości pamięci, częste wykorzystanie pliku stronicowania i spadek dostępnej pamięci dla procesów. Samo zajęcie dużej części pamięci nie zawsze oznacza awarię, ponieważ system może wykorzystywać ją jako pamięć podręczną. Istotne jest zestawienie kilku wskaźników: pamięci dostępnej, aktywności stronicowania, czasu odpowiedzi aplikacji oraz liczby procesów oczekujących na zasoby. W przypadku dysków trzeba rozdzielić opóźnienie urządzenia, przepustowość i liczbę operacji. Szybki dysk może osiągać wysoką przepustowość przy małej liczbie dużych transferów, ale wykonywać wiele małych operacji z opóźnieniem odczuwalnym dla aplikacji. Od pomiaru do wykrycia przyczyny problemuSkuteczna analiza nie polega na ustawieniu jednego alarmu dla każdej metryki. Progi powinny uwzględniać charakter obciążenia i czas trwania zjawiska. Przykładowo, chwilowe przekroczenie poziomu użycia procesora może nie mieć znaczenia, jeżeli czas odpowiedzi usług pozostaje stabilny. Większą wartość diagnostyczną ma korelacja: wzrost liczby żądań, wydłużenie czasu odpowiedzi, zwiększenie kolejki dyskowej i jednoczesny wzrost oczekiwania procesora tworzą spójny obraz przeciążenia. Bez takiego porównania łatwo pomylić objaw z przyczyną. W monitoringu warto rejestrować zarówno wartości średnie, jak i rozkład czasów odpowiedzi. Średnia może ukrywać pojedyncze bardzo wolne operacje, dlatego analizuje się także percentyle, na przykład odsetek żądań kończących się w określonym czasie. Przydatne są również informacje o błędach, ponowieniach połączeń, przerwach w komunikacji i restartach usług. Jeżeli problem występuje cyklicznie, należy zestawić wykresy z harmonogramem zadań systemowych oraz aplikacyjnych. Pozwala to sprawdzić, czy spadki wydajności pojawiają się w czasie skanowania, indeksowania, synchronizacji, kompresowania danych albo wykonywania kopii. Diagnostyka po stwierdzeniu spadku wydajnościPo wykryciu nieprawidłowości najpierw ustala się zakres zjawiska: czy dotyczy całego systemu, jednej usługi, konkretnego użytkownika, pojedynczego dysku lub określonego przedziału czasu. Następnie porównuje się bieżące dane z okresem bazowym, sprawdza ostatnie zmiany konfiguracji i identyfikuje procesy zużywające zasoby. Warto zachować logi oraz próbki metryk z momentu wystąpienia problemu, ponieważ po ustąpieniu przeciążenia wynik jednorazowego pomiaru może być prawidłowy i nie wyjaśni wcześniejszego zdarzenia. W środowisku lokalnym diagnostyka może obejmować sprawdzenie temperatur, stanu chłodzenia, kondycji nośnika danych, poprawności sterowników i stabilności zasilania. W przypadku serwera dodatkowo analizuje się obciążenie usług, opóźnienia sieciowe, limity zasobów i zależności między komponentami. Nie należy zwiększać zasobów bez potwierdzenia przyczyny, ponieważ rozbudowa pamięci lub wymiana dysku nie rozwiąże problemu powodowanego przez błędną konfigurację, wadliwy proces albo przeciążenie sieci. Po wdrożeniu zmiany monitoring powinien potwierdzić, czy poprawiły się właściwe wskaźniki, a nie tylko pojedynczy parametr. |