Jak sprawdzić obciążenie serwera VPS – to pytanie pojawia się zwykle w momencie, gdy strona zamiast w sekundę ładuje się kilkanaście sekund, a panel administracyjny zaczyna się zacinać. Dobra wiadomość jest taka, że jak sprawdzić obciążenie serwera VPS nauczysz się w kilkanaście minut, bo cała diagnostyka opiera się na garstce poleceń dostępnych w każdej dystrybucji Linuksa. Nie potrzebujesz płatnego oprogramowania ani zewnętrznego audytu – wystarczy dostęp SSH, cierpliwość i zrozumienie, co oznaczają liczby zwracane przez uptime, free czy iostat. W tym przewodniku pokazuję konkretne komendy, progi alarmowe i sposób odróżnienia przeciążenia procesora od problemu z dyskiem lub bazą danych. Na końcu znajdziesz też podpowiedź, kiedy diagnostyka nie ma już sensu i lepiej zainwestować w mocniejszą maszynę albo przebudować aplikację. Przy okazji rozwiewam wątpliwość, czym różni się VPS od hostingu współdzielonego w kontekście monitoringu, bo na współdzielonym po prostu nie zobaczysz większości tych danych.
Load average, czyli najszybsza odpowiedź na pytanie o kondycję maszyny
Pierwsze polecenie, po które sięgasz po zalogowaniu przez SSH, to uptime. Zwraca ono trzy liczby – średnie obciążenie z ostatniej minuty, pięciu i piętnastu minut. Wartości te opisują, ile procesów średnio czekało na czas procesora lub na zakończenie operacji dyskowej w danym oknie czasowym.
Kluczem do interpretacji jest liczba rdzeni, którą sprawdzisz poleceniem nproc lub lscpu. Load 3,80 na maszynie z czterema vCPU oznacza pełne, ale zdrowe wykorzystanie. Ta sama wartość na jednordzeniowym VPS-ie za 20 zł miesięcznie to już poważne przeciążenie i kolejka zadań rosnąca w nieskończoność.
Porównanie trzech średnich mówi o kierunku zmian. Gdy pierwsza liczba jest wyraźnie wyższa od trzeciej, obciążenie właśnie narasta – może to być atak, agresywne indeksowanie przez bota albo zaplanowana kopia zapasowa. Sytuacja odwrotna oznacza, że szczyt minął i maszyna spokojnie wraca do normy.
Jak czytać wyniki poleceń top i htop
Polecenie top rozbija obciążenie na składniki: us to procesy użytkownika, sy jądro systemu, wa czas oczekiwania na dysk, a st czas skradziony przez hiperwizor. Wysokie wa wskazuje wolny nośnik, a rosnące st oznacza, że sąsiedzi na tym samym hoście fizycznym zabierają twoje cykle procesora.
Htop instalujesz jednym poleceniem apt install htop i dostajesz czytelne paski dla każdego rdzenia, kolorowe rozróżnienie typów obciążenia oraz sortowanie procesów klawiszem F6. To narzędzie, od którego zaczyna większość administratorów, zanim sięgnie po rozbudowany monitoring z wykresami i historią pomiarów.
Pamięć RAM, swap i dysk – trzy wąskie gardła, które udają problem z procesorem
Polecenie free -h pokazuje realną sytuację pamięciową. Interesuje cię kolumna available, a nie free – Linux celowo zajmuje wolną pamięć na cache dyskowy i oddaje ją aplikacjom na żądanie. Alarmujące jest dopiero intensywne używanie swapa, widoczne jako rosnąca wartość w wierszu Swap.
Swapowanie potrafi zabić wydajność skuteczniej niż przeciążony procesor, ponieważ nawet szybki dysk NVMe jest kilkaset razy wolniejszy od pamięci operacyjnej. Jeśli VPS z 2 GB RAM regularnie sięga po 500 MB swapa, upgrade do 4 GB – zwykle 30-50 zł miesięcznie różnicy – rozwiąże problem szybciej niż tygodnie optymalizacji kodu.
Przestrzeń dyskową kontrolujesz przez df -h, a wyczerpanie i-node’ów przez df -i. Zapełniony dysk objawia się jako błąd 500, brak możliwości zapisu sesji PHP i zatrzymana replikacja bazy. Statystyki operacji wejścia-wyjścia pokaże iostat -x 2 z pakietu sysstat, gdzie kolumna %util powyżej 90 sygnalizuje nasycenie.
Narzędzia do stałego monitoringu i rozsądne progi alarmowe
Ręczne logowanie przez SSH odpowiada na pytanie, jak sprawdzić obciążenie serwera VPS tu i teraz, ale nie zastąpi ciągłego zbierania danych. Bez historii nie odpowiesz, czy wczorajszy skok trwał dwie minuty, czy dwie godziny. Dlatego na każdej produkcyjnej maszynie powinien działać agent zapisujący metryki.
| Narzędzie | Instalacja | Historia metryk | Koszt |
|---|---|---|---|
| uptime, free, df | wbudowane w system | brak | 0 zł |
| htop | jedno polecenie | brak | 0 zł |
| Netdata | skrypt instalacyjny | od godzin do kilku dni | 0 zł w wersji lokalnej |
| Zabbix | baza danych i agent | miesiące, lata | 0 zł, kosztem jest czas wdrożenia |
| Monitoring zewnętrzny | konfiguracja w panelu | pełna | 0-60 zł miesięcznie |
Netdata zainstalujesz jednym skryptem i po minucie masz sekundową rozdzielczość metryk w przeglądarce. Zabbix wymaga bazy danych i godziny konfiguracji, ale obsłuży flotę kilkudziesięciu serwerów z eskalacją alertów. Dla pojedynczego VPS-a pod firmową stronę Netdata plus zewnętrzny monitoring dostępności w zupełności wystarczy.
Progi alarmowe ustaw indywidualnie dla swojej maszyny. Rozsądny punkt wyjścia to load powyżej liczby rdzeni utrzymujący się piętnaście minut, zajętość dysku powyżej 85 procent oraz dostępna pamięć poniżej 15 procent. Powiadomienia kieruj na kanał, który faktycznie czytasz – ignorowany e-mail nie jest monitoringiem.
Obciążenie generowane przez aplikację: WordPress, PHP-FPM i MySQL
Na typowym VPS-ie z WordPressem osiemdziesiąt procent obciążenia generują trzy elementy: zapytania do bazy danych, procesy PHP-FPM i boty skanujące plik wp-login.php. Polecenie ps aux –sort=-%cpu | head -15 w kilka sekund pokaże, który konkretny proces zjada moc obliczeniową maszyny.
Bazę diagnozujesz przez SHOW FULL PROCESSLIST oraz dziennik wolnych zapytań włączany opcją slow_query_log. Zapytanie trwające ponad sekundę przy każdym wyświetleniu strony to zwykle brakujący indeks albo wtyczka pobierająca całą tabelę postmeta. Naprawa jednego takiego zapytania potrafi obniżyć średnie obciążenie o połowę.

Pytanie, jak wybrać hosting pod WordPress, sprowadza się właśnie do zapasu mocy: dwa rdzenie i 4 GB RAM obsłużą sklep z kilkoma tysiącami odsłon dziennie, o ile działa cache obiektowy i statyczny. Bez mechanizmu cache ta sama maszyna położy się przy dwustu równoczesnych użytkownikach.
Logi serwera WWW jako źródło prawdy
Analiza pliku access.log pokazuje, co naprawdę uderza w serwer. Polecenie awk '{print $1}’ access.log | sort | uniq -c | sort -rn | head wskaże adresy IP generujące najwięcej żądań. Jeśli pojedynczy adres wysyła kilka tysięcy zapytań na minutę, masz odpowiedź bez zaglądania w wykresy.
Co zrobić, gdy VPS nie wyrabia: optymalizacja, migracja i porządek w infrastrukturze
Kolejność działań ma znaczenie. Najpierw cache i optymalizacja zapytań, potem zwiększenie zasobów, a dopiero na końcu zmiana dostawcy. Podniesienie pakietu z dwóch do czterech vCPU kosztuje zwykle 40-80 zł miesięcznie i zajmuje kilka minut, więc bywa tańsze niż dwa dni pracy programisty.
Jak przenieść stronę na inny hosting bez przestoju? Kolejność jest sztywna: kopia plików i bazy, test na nowej maszynie pod tymczasowym adresem, obniżenie TTL rekordów do 300 sekund, dopiero potem przełączenie ruchu. Wcześniej sprawdź, kto jest właścicielem domeny – dane z bazy WHOIS wskażą rejestratora i termin odnowienia.
Konfiguracja strefy to następny krok. Jak skonfigurować rekordy DNS domeny? Rekord A wskazuje adres IPv4 nowego VPS-a, AAAA adres IPv6, a MX serwer poczty. Co to jest rekord CNAME? To alias kierujący jedną nazwę na drugą, przydatny przy subdomenach typu www oraz przy panelach usług zewnętrznych.
Po migracji zadbaj o adresy URL. Jak ustawić przekierowanie 301 w htaccess? Wystarczy dyrektywa Redirect 301 /stary-adres https://domena.pl/nowy-adres albo reguła RewriteRule z flagą R=301,L. Bez tego stracisz pozycje wypracowane latami, a użytkownicy zobaczą błąd 404 zamiast oczekiwanej treści.
Zostaje szyfrowanie połączenia. Jak zainstalować certyfikat SSL na serwerze? Na VPS-ie z Nginx lub Apache najprościej przez certbota, który pobiera darmowy certyfikat SSL Let’s Encrypt i ustawia automatyczne odnawianie co 90 dni. Certyfikat komercyjny za 200-400 zł rocznie ma sens wyłącznie przy walidacji rozszerzonej.
Osobna sprawa to terminy administracyjne. Jak przedłużyć domenę po wygaśnięciu? W polskich rozszerzeniach masz zwykle 30 dni na odnowienie w standardowej cenie, a potem okres kwarantanny, w którym opłata rośnie kilkukrotnie. Wygasła domena zatrzyma stronę skuteczniej niż jakiekolwiek przeciążenie procesora.
Zdarza się też, że winne nie jest wcale obciążenie maszyny, lecz łącze po stronie odbiorcy. Jak sprawdzić prędkość internetu rzetelnie? Testem po kablu, o różnych porach doby, na kilku niezależnych serwerach pomiarowych. Jeśli wyniki spadają wyłącznie na połączeniu bezprzewodowym, problem leży w sieci lokalnej.
Jak wzmocnić sygnał WiFi w domu, gdy to router okazuje się wąskim gardłem? Zmiana kanału na mniej zatłoczony, przejście na pasmo 5 GHz i przeniesienie urządzenia na środek mieszkania dają zwykle więcej niż wymiana sprzętu. Zestaw mesh za 400-600 zł pomaga dopiero przy dużych metrażach.
Jak często sprawdzać obciążenie serwera VPS przy małej firmowej stronie?
Ręczna kontrola raz w tygodniu wystarczy, pod warunkiem że w tle działa automatyczny monitoring wysyłający alert po przekroczeniu progu. Wtedy pytanie, jak sprawdzić obciążenie serwera VPS, zadajesz sobie tylko wtedy, gdy przyjdzie powiadomienie. Sam przegląd zajmuje trzy minuty: uptime dla średnich obciążenia, free -h dla pamięci, df -h dla przestrzeni dyskowej i szybkie spojrzenie na wykres z ostatnich siedmiu dni. Częstotliwość zwiększ po każdej większej zmianie – instalacji nowej wtyczki, migracji, kampanii reklamowej czy aktualizacji wersji PHP. Przez pierwsze 48 godzin po takim zdarzeniu obserwuj metryki codziennie, bo właśnie wtedy ujawniają się wycieki pamięci i nieskończone pętle w kodzie aplikacji.
Czy wysoki load average zawsze oznacza przeciążenie serwera?
Nie. Load average w Linuksie liczy procesy w stanie gotowości oraz te oczekujące na operacje dyskowe, więc maszyna z wolnym nośnikiem pokaże wysoką wartość przy niemal bezczynnym procesorze. Zanim wyciągniesz wniosek, porównaj load z liczbą rdzeni i sprawdź w narzędziu top kolumny wa oraz st. Wysokie wa oznacza problem z podsystemem dyskowym, wysokie st – że hiperwizor odbiera twoje cykle na rzecz innych maszyn na tym samym hoście. Load równy liczbie rdzeni utrzymywany godzinami jest zupełnie normalny na serwerze przetwarzającym wideo albo kompresującym kopie zapasowe. Znaczenie ma dopiero połączenie wysokiego obciążenia z wydłużonym czasem odpowiedzi aplikacji.
Co zrobić, gdy obciążenie rośnie mimo niewielkiego ruchu na stronie?
Sprawdź, czy ruch widoczny w statystykach to cały ruch docierający do maszyny. Analityka oparta na JavaScripcie nie rejestruje botów, skanerów i prób logowania, a te potrafią generować kilkadziesiąt tysięcy żądań dziennie. Przejrzyj access.log, policz żądania według adresu IP oraz user agenta, a następnie zablokuj najbardziej agresywne źródła przez fail2ban lub regułę w firewallu. Drugą częstą przyczyną są zadania cron – backup, indeksowanie wyszukiwarki wewnętrznej albo synchronizacja z hurtownią uruchamiane dokładnie w tej samej minucie. Rozłóż je w czasie co kilkanaście minut. Trzecia możliwość to wyciek pamięci w procesie PHP-FPM, widoczny jako stopniowy wzrost zużycia RAM między kolejnymi restartami usługi.

