Jak sprawdzić obciążenie serwera? Monitoring zasobów serwera fizycznego
Codzienna administracja serwera nie opiera się wyłącznie na jego aktualizowaniu, konfigurowaniu, czy reagowaniu w przypadku wystąpienia awarii lub błędów. Niezwykle ważna jest również regularna kontrola i monitoring nad obciążeniem serwera oraz wykorzystywanymi przez niego zasobami.
By skutecznie monitorować serwer, konieczne jest zwrócenie uwagi na statystyki oraz wykresy reprezentujące bieżące zużycie pamięci i reprezentujące charakterystykę aktualnej pracy serwera. To właśnie wykresy i przebiegi są kluczowe do weryfikacji spowolnień, czy do przeprowadzania analizy zachowań podczas testów obciążeniowych lub w czasie wzmożonego ruchu.
Analizowanie statystyk pracy serwera jest niezwykle ważne, ponieważ utrzymujące się przeciążenie może spowodować pojawienie się błędu 503. Klienci większości czołowych hostingów otrzymują narzędzia, dzięki którym mogą samodzielnie monitorować parametry i wydajność serwera, a także zarządzać nim i poprawiać jego wydajność. Co więcej, udostępniania narzędzi pozwalających monitorować obciążenie serwerów jest obligatoryjne pod względem nowej polityki bezpieczeństwa, która weszła w życie wraz z RODO.
Przeciążanie serwera może być powodowane przez nagły wzrost liczby użytkowników, problemy wydajnościowe determinowane przez słabą optymalizację skryptów witryn, czy przez wyczerpywanie się zasobów procesora.
Jak sprawdzić obciążenie serwera?
Jednym z ważniejszych parametrów, które pozwalają ocenić stan obciążenia serwera, jest parametr Load average. Jeżeli parametr ten plasuje się na poziomie niższym, niż ilość obsługiwanych procesorów, wówczas obciążenie serwera pozostaje w normie.
Poza tym, podczas weryfikowania zasobów serwera należy zwrócić uwagę na cztery inne parametry. Są to:
- CPU system time – określa obciążenie procesora przez OS,
- CPU user time – określa obciążenie procesora przez działające aplikacje,
- CPU idle time – określa czas, przez który procesor nie jest używany przez żadne procesy,
- CPU iowalt time – określa czas oczekiwania na urządzenia wejścia/wyjścia. Ten parametr określa, ile czasu procesor oczekuje na połączenie z dyskiem.
Określanie wąskiego gardła dysku, pamięci i procesora
By kompleksowo monitorować obciążenie serwera, należy zweryfikować trzy obszary zasobów, które mogą powodować wąskie gardło, wpływając na wydajność serwerów. Są to: dysk, pamięć i procesor
Wąskie gardło dysku twardego
Wąskie gardło obciążenia dysku ma znaczący wpływ na całkowitą efektywność i wydajność serwera. Monitorując ten zasób, należy sprawdzić kilka liczników pozwalających dokonać oceny obciążenia. Są to:
- Procentowy wolny obszar dysku logicznego – jeśli spadnie poniżej 15%, wówczas istnieje ryzyko wyczerpania się wolnego obszaru do przechowywania plików krytycznych.
Czas bezczynności dysku fizycznego – jeśli czas bezczynności spadnie poniżej 20%, wówczas system dyskowy może okazać się zapełniony.
Czas odczytu i zapisu danych na dysku fizycznym – średni czas odczytu i zapisu danych z dysku, nie powinien wynosić więcej niż 10 ms dla odczytu i 25 ms dla zapisu.
Wąskie gardło pamięci
Wąskie gardło pamięci powodowane jest zwykle małą ilością pamięci RAM, przełącznikiem pamięci lub brakiem pamięci. Jeżeli podejrzewasz, że masz do czynienia z wąskim gardłem pamięci, powinieneś zwrócić uwagę na poniższe wskaźniki, które pozwolą zdiagnozować potencjalny problem:
- Zadeklarowane bajty w użyciu – określa obszar użycia wirtualnej pamięci. Jeśli parametr ten jest większy od 80%, wówczas następuje brak pamięci.
- Dostępna pamięć – określa rozmiar pamięci fizycznej w megabajtach służącej do uruchamiania procesów. Parametr ten nie powinien być mniejszy o 5% całkowitej pamięci fizycznej.
- Bajty w puli niestronicowanej i stronicowanej – dolny limit dla bajtów w puli niestronicowanej wynosi 175 MB lub 100 MB z przełącznikiem 3GB, a dla bajtów w puli stronicowanej 250 MB lub 170 MB z przełącznikiem 3/GB.
Wąskie gardło procesora
Wąskie gardło procesora polega głównie na obsłudze niewydajnej aplikacji lub na niewystarczającej mocy. Podczas badania tego zasobu należy określić:
- Czas procesora – mierzy procentowy czas, który upłyną podczas wykonywania wątków przez procesor – nie powinien być większy od 85%.
- Czas użytkowania – mierzy procentowy czas, przez który procesor jest zajęty w trybie użytkownika.
- Czas przerwań – mierzy procentowy czas, przez który procesor poświęca na obsługę przerwań sprzętowych – nie powinien być większy od 15%.