Jak sprawdzić, czemu moja strona działa wolno

Czasami strona działa www działa wolno. Niekiedy pojawia się błąd 500 (Internal server error) lub 508 (508 Resource limit is reached) i nie wiadomo z czego on wynika. Powodów może być wiele. W cPanelu na hostingu smarthost.pl można samodzielnie zdiagnozować wiele z przyczyn.

Jednym ze sposobów na weryfikację, gdzie leży problem, jest skorzystanie z gotowej opcji która znajduje się w cPanelu, dzięki niej można sprawdzić które konkretnie pliki powodują obciążenie zasobów serwera.

Aby sprawdzić obciążenie na naszym koncie hostingowym, należy z poziomu cPanelu wejść w Użycie zasobów w zakładce Metryki:

Należy wejść w zakładkę [Szczegóły] bądź [Snapshot]

Mamy tutaj możliwość sprawdzenia z konkretnego dnia w których godzinach były przeciążenia serwera i co je powodowało.

Każdy z klientów ma stałe, przypisane mu parametry, które są przydzielone na wyłączność (pamięć procesor, liczba procesów, odczyt z dysków) – dlatego też, jeżeli występują podbicia użycia któregoś z tych parametrów do ustawionych limitów, trzeba szukać rozwiązania w aplikacji.

Zakładka [Szczegóły]

W tej zakładce możemy spojrzeć jak wygląda zużycie na przestrzeni okresu czasu. Czas ten można ustawić – żeby zobaczyć okres od „ostatnich 10 minut”, aż do dowolnie ustalonego zakresu dat.

Zakładka [Snapshot]

Process List – wykaże pliki które powodują obciążenie oraz nada im wartości w ilu procentach dany plik wpływa na obciążenie procesora i pamięci

Na poniższym screenie widać, że plik index.php w katalogu public_html powoduje zużycie pamięci ram oraz procesora.

Najczęstszymi powodami wysokiego użycia CPU oraz  pamięci RAM są:

– słaba optymalizacja strony

– nagły wzrost liczby odwiedzin na stronie

– niepoprawne ustawienie procesów PHP/Cron (wywoływanie w tym samym momencie)

–  nadmierna liczba wtyczek

Błąd 500

Jest to komunikat, który najczęściej występuje, gdy na serwerze stało się coś nieoczekiwanego i sam serwer nie jest w stanie wysłać konkretnej informacji. Strona wyświetla komunikat z błędem, a nie normalną stronę.

Najczęstsze przyczyny:

– źle nadane uprawnienia dla katalogów i plików,

– błąd połączenia z bazą danych,

– przekroczenie dostępnych zasobów serwera,

– niepoprawne wpisy w pliku .htaccess.

Błąd 508 (Resource Limit Is Reached)

Przekroczenie limitów powodujące błąd 508 związane jest z obciążeniem serwera działaniem aplikacji klienta. Błąd 508 zwykle pojawia się z powodu błędnej konfiguracji po stronie użytkownika, które powoduje bardzo duże użycie zasobów.

Najczęstsze przyczyny:

– atak DoS lub DDoS na konkretną stronę,

– ataki na niezabezpieczone formularze logowania, pliki xml.rpc,

– brak optymalizacji strony,

– marnej jakości szablony/motywy/wtyczki, które powodują wiele równoległych wywołań, zamiast agregować zapytania i wywoływania,

– używanie zapytań do bazy danych bez indeksów, lub zapytań bardzo „ciężkich”, długo się wykonujących,

– umieszczenie na jednym koncie hostingowym bardzo dużej liczby normalnie odwiedzanych stron internetowych,

– bardzo duży wzrost np. legalnego ruchu na stronie.

Większość z powyższych przyczyn można zdiagnozować w cPanelu pod ikoną „Użycie zasobów”.

Rozwiązania które mogą poprawić działanie strony:

1. Optymalizacja strony

Strona często wymaga optymalizacji zarówno pod kątem kodu, jak i w związku z przeciążeniami spowodowanymi dużą liczbą odsłon, które mogą prowadzić do przerywania połączeń z bazą danych i przekraczania limitów. Warto zwrócić szczególną uwagę na zapytania do bazy danych, ponieważ brak odpowiednich indeksów może znacznie spowolnić działanie strony. W razie wątpliwości, warto skonsultować się z deweloperem odpowiedzialnym za budowę strony.

2. Zmniejszenie rozmiarów plików

Aby strona działała poprawnie, należy zająć się również optymalizacją zdjęć i plików, gdyż duże rozmiary tych plików potrafią znacznie wpłynąć na działanie strony. Zaleca się aby zdjęcia nie przekraczały rozmiaru 1MB oraz ważny jest wybór odpowiedniego formatu zdjęć.

3. Redukcja liczby wtyczek

Korzystając z popularnych systemów CMS (np. WordPress, Joomla) mamy dostęp do wielu wtyczek, jednakże ich nadmiar może powodować znaczny spadek wydajności strony, dlatego też zalecane jest stosowanie tylko i wyłącznie wtyczek które są nam niezbędne. Niepotrzebne dodatki należy wyłączyć (a najlepiej całkiem usunąć).

4. Aktualizacje systemu CMS aplikacji

Aplikację powinniśmy aktualizować regularnie, ze względu na ciągłe poprawy wydajności i optymalizację w nowszych wersjach.

5. Zastosowanie cache

Dzięki pamięci podręcznej możemy znacznie zwiększyć prędkość działania strony, używając pamięci cache część plików zapisuje się na komputerze użytkownika, co wpływa na znaczą poprawę wydajności przy ponownym wejściu na stronę. Cache jest kluczowy – może być po stronie serwera (np. użycie silnika Redis, Memcached lub cache plikowy z użyciem wtyczek np. dla WordPress W3totalcache). Można też włączyć cache niektórych elementów w przeglądarce klienta.

6. Zmniejszenie żądań HTTP

Kiedy użytkownicy wchodzą na stronę, przeglądarka wykonuje kilka żądań załadowania każdego z tych plików – co znacznie wpływa na szybkość ładowania stron. W tym wypadku należy ograniczyć pliki .js .css oraz pliki graficzne

7. Zmiana wersji PHP

Bardzo często używane są stare wersję PHP które w obecnych czasach mają negatywny wpływ na działanie strony, zalecane jest przejście na najnowszą wersję PHP – co powinno znacznie poprawić wydajność strony.

O najnowszych wersjach PHP i o tym jak ją zmienić dla poszczególnych aplikacji piszemy w tym artykule:
Warto dbać o używanie aktualnej wersji PHP. Jak należy ją poprawnie zmienić? – luźne porady hostingowe (smarthost.pl)

8. Zwiększenie parametrów konta

Może się zdarzyć, że aktualna ilość parametrów na koncie hostingowym (RAM, CPU, EP) nie jest wystarczająca – w takiej sytuacji można rozważyć zwiększenie parametrów (o tym jak je zwiększyć piszemy tutaj) lub przejście na bardziej wydajny VPS lub serwer dedykowany.


Kreator serwerów VPS: biznesowy serwer VPS
Kreator serwera dedykowanego: prestahosting.pl oraz woohosting.pl

Podsumowanie

Na wolne ładowanie się strony oraz na błędy różnego rodzaju może wpływać wiele czynników, najczęściej jest to słaba optymalizacja strony/aplikacji dlatego kluczowe jest wykrycie co powoduje zwolnienie strony oraz jej błędy i jak najszybsze wyeliminowanie tych problemów.

Polecamy serwis, w którym można poczytać na temat optymalizacji popularnych systemów: Joomla! oraz WordPress: https://www.100punktow.pl 

Smarthost