Inody, procesy PHP, memory_limit, CPU i IOPS - wyjaśniamy każdy limit hostingu, po czym poznasz przekroczenie i co zrobić, zanim dołożysz pieniądze.
Limity hostingu opisują cztery różne rzeczy: inody to liczba plików i katalogów (nie ich waga), procesy/wejścia PHP to liczba żądań obsługiwanych jednocześnie, pamięć to RAM dostępny dla skryptu, a CPU, IO i IOPS to moc obliczeniowa i praca dysku. Przekroczenie każdego z nich daje inny objaw - i prawie zawsze da się je naprawić bez zmiany pakietu.
Poniżej rozkładamy każdy limit po kolei: co dokładnie mierzy, po czym poznasz, że go dobijasz, ile realnie potrzebuje typowa strona firmowa oraz co zrobić w pierwszej kolejności. Na końcu tabela objawów, drzewko decyzyjne i odpowiedzi na pytania, które najczęściej dostajemy od klientów po komunikacie z panelu.
Na hostingu współdzielonym mieszka wielu klientów na jednej maszynie. Limity to ściany między mieszkaniami: dzięki nim sąsiad z zapętlonym skryptem albo sklep w środku kampanii nie zjada mocy Twojej strony. Bez nich jedno konto potrafi położyć cały serwer - i tak wyglądał hosting piętnaście lat temu.
Współczesne serwery współdzielone izolują konta na poziomie systemu (u nas robi to CloudLinux, który każdemu kontu przydziela własną „klatkę" z osobnym przydziałem CPU, pamięci i procesów). Efekt jest taki, że przekroczenie limitu wyhamowuje tylko Twoje konto, a nie sąsiadów - i odwrotnie.
Dlatego uczciwy dostawca limity OPISUJE. Słowo „nielimitowany" w cenniku oznacza zwykle tylko tyle, że limity znajdziesz w regulaminie zamiast w tabelce - a dowiesz się o nich w najgorszym momencie. Jak czytać oferty hostingowe bez naiwności, rozkładamy w przewodniku Hosting dla firm.
Inode to systemowy wpis opisujący jeden plik lub katalog - trzyma informacje o właścicielu, uprawnieniach, dacie i miejscu na dysku, w którym leży zawartość. W praktyce liczy się prosta zasada: jeden plik = jeden inode, jeden katalog = też jeden inode. Limit inodów to więc limit LICZBY obiektów, całkowicie niezależny od tego, ile ważą.
Stąd bierze się najczęstsze zdziwienie: „mam 3 GB z 20 GB miejsca, a hosting mówi, że przekroczyłem limit". Miejsce i inody to dwa osobne liczniki. Można wypełnić inody, mając dysk pusty w 90 procentach - wystarczy dużo drobnych plików.
Objawy przekroczenia inodów są charakterystyczne: nagle nie da się wgrać pliku, WordPress zgłasza błąd zapisu, poczta przestaje przyjmować wiadomości, a aktualizacje kończą się w połowie. Dobra wiadomość: to prawie nigdy nie jest powód do zmiany pakietu - to powód do sprzątania.
To limit najczęściej mylony z limitem odwiedzin. Limit równoczesnych procesów PHP mówi, ile żądań strona obsłuży w tej samej sekundzie, a nie ile osób odwiedzi ją dziennie. Skrypt, który wykonuje się 200 milisekund, zwalnia proces natychmiast; skrypt liczący 8 sekund blokuje go na 8 sekund.
Dlatego pierwszą odpowiedzią na komunikat „przekroczono limit procesów" (czyli błąd 508 albo 503) prawie zawsze jest cache, a nie wyższy pakiet. Strona z działającym cache serwuje gotowy HTML z poziomu serwera WWW i w ogóle nie uruchamia PHP - dziesięć razy większy ruch zużywa wtedy mniej procesów niż wcześniej.
Drugie pytanie brzmi: co wisi tak długo? Typowi winowajcy z naszej praktyki:
Plan naprawy krok po kroku opisujemy w tekście WordPress wolno działa.
Tu w grę wchodzą trzy różne liczby i pomylenie ich to klasyk:
Praktyczna kolejność działań: najpierw sprawdź, CO zjada pamięć (import wielkiego pliku CSV, kreator stron, generowanie miniatur, backup wtyczką, eksport zamówień), a dopiero potem podnoś limit. Jak i gdzie zmienić wartości bez dostępu do serwera, pokazuje tekst o ustawieniach php.ini na hostingu.
Trzy liczniki, które w panelu wyglądają najbardziej tajemniczo, a odpowiadają za większość „strona nagle zwolniła":
Krótkie skoki po suficie CPU są normalne (aktualizacja, import, indeksowanie przez roboty). Niepokojące jest dopiero utrzymujące się obciążenie przy braku wzrostu ruchu - to sygnał ciężkiego crona, źle napisanej wtyczki albo infekcji.
| Limit | Co mierzy | Typowy objaw | Pierwsza reakcja |
|---|---|---|---|
| Inody | liczbę plików i katalogów | nie da się wgrać pliku, poczta odbija maile | sprzątanie (miniatury, cache, stare instalacje) |
| Procesy / wejścia PHP | równoczesne żądania | błąd 508/503 przy większym ruchu | cache + znalezienie wolnej wtyczki |
| memory_limit | RAM jednego skryptu | „Allowed memory size exhausted" | podniesienie limitu, odchudzenie operacji |
| PMEM (pamięć konta) | RAM wszystkich procesów | losowe błędy 500 przy ruchu | cache, mniej równoczesnych zadań |
| CPU | moc procesora | strona muli mimo cache | audyt wtyczek i cronów |
| IO / IOPS | pracę dysku | zrywy spowolnień o stałych porach | przesunięcie backupów i skanów |
| Transfer | ruch wychodzący | przekroczenie w miesiącach z kampanią | optymalizacja obrazów, blokada hotlinkingu |
W DirectAdmin znajdziesz statystyki użycia na stronie głównej panelu (przestrzeń, inody, transfer, liczba baz i skrzynek) oraz osobne wykresy zużycia zasobów konta z historią - to na nich widać, czy limit dobijasz stale, czy raz w miesiącu podczas kopii zapasowej. Po panelu prowadzi przewodnik po DirectAdmin.
Zaglądaj tam raz w miesiącu, najlepiej przy okazji przeglądu aktualizacji. Limity nie zaskakują tych, którzy patrzą na wykresy - zaskakują tych, którzy pierwszy raz otwierają panel, gdy strona już nie działa.
U nas limity są jawne przy każdym pakiecie hostingu, a zanim je przekroczysz, dostajesz powiadomienie - bez niespodzianek w środku kampanii i bez nagłego „konto zawieszone".
Sam WordPress z motywem i kilkunastoma wtyczkami to około 15-30 tysięcy plików. Strona wizytówka z galerią mieści się zwykle w 50 tysiącach, sklep z kilkuset produktami i zdjęciami - w 100-200 tysiącach. Jeśli licznik pokazuje pół miliona przy małej stronie, to nie kwestia pakietu, tylko śmieci na koncie.
Ma - tylko nie w cenniku. Limity procesów, CPU i pamięci istnieją zawsze, bo bez nich serwer współdzielony nie mógłby działać; przy ofercie „bez limitów" znajdziesz je w regulaminie albo w klauzuli o „rozsądnym użyciu". Wolimy podawać liczby wprost: łatwiej dobrać pakiet, gdy wiadomo, co się w nim mieści.
To komunikat o wyczerpaniu limitu równoczesnych wejść do PHP - serwer nie ma wolnego procesu, żeby obsłużyć kolejne żądanie. Najczęstsze przyczyny: brak cache, wolna wtyczka blokująca procesy albo ruch botów. Ustaw cache, sprawdź czasy odpowiedzi i dopiero wtedy rozważaj wyższy pakiet.
Tak - na naszym hostingu memory_limit zmienia się w panelu, bez zgłoszenia do pomocy technicznej. Pamiętaj, że WordPress ma dodatkowo własny limit (WP_MEMORY_LIMIT w pliku wp-config.php), który potrafi być niższy niż ustawienie serwera; podniesienie tylko jednego z nich niczego nie zmieni.
Do inodów i przestrzeni - tak, bo skrzynki leżą na tym samym koncie i każda wiadomość to osobny plik. Do limitów CPU i procesów PHP - nie, poczta chodzi w osobnych usługach serwera. Dlatego duże skrzynki potrafią wyczerpać inody, nie spowalniając przy tym strony ani o milisekundę.
W panelu hostingu wystarczy menedżer plików i sortowanie po liczbie elementów, ale najszybciej działa przegląd trzech miejsc po kolei: wp-content/uploads (miniatury), wp-content/cache oraz katalogi skrzynek pocztowych. W 9 przypadkach na 10 winowajca jest w jednym z nich. Jeśli wolisz nie grzebać - policzymy to za Ciebie w ramach opieki nad hostingiem.
Nie. Przekroczenie limitu CPU czy procesów powoduje chwilowe spowolnienie albo błąd 508 dla części odwiedzających, a nie wyłączenie konta; po opadnięciu obciążenia wszystko wraca do normy. Trwałe konsekwencje pojawiają się dopiero przy uporczywym, wielodniowym przeciążaniu serwera - i zawsze poprzedza je kontakt z naszej strony.
Wszystkie poradniki z kategorii: Hosting od podstaw