1. Opisz objaw, nie tylko „jest wolno”
Wybierz kilka adresów: stronę główną, kategorię, kartę produktu i koszyk. Otwórz je w zwykłej przeglądarce oraz w oknie prywatnym. Zapisz godzinę, urządzenie i informację, czy jesteś zalogowany. Porównanie różnych sesji pomaga odróżnić problem pojedynczego klienta od problemu całego sklepu.
Nie mieszaj opóźnionej reakcji przycisku z długim oczekiwaniem na pierwszą odpowiedź serwera. W narzędziach przeglądarki sprawdź zakładkę sieciową. Długi czas oczekiwania na dokument HTML sugeruje inny kierunek diagnozy niż szybki HTML i ciężkie obrazy lub skrypty.
2. Ustal moment, w którym zaczęło się pogorszenie
Zestaw godziny spowolnień z aktualizacjami modułów, zmianą szablonu, importem produktów, synchronizacją stanów i kampaniami. Jeśli problem wraca codziennie o podobnej porze, sprawdź harmonogramy zadań. Kilka równoległych importów może obciążać bazę nawet przy niewielkiej liczbie klientów.
Przygotuj krótki dziennik: godzina, adres, objaw i ostatnia zmiana. Rób porównywalne pomiary kilka razy. Pojedynczy dobry wynik po zmianie nie wystarcza, jeśli wcześniej problem występował tylko okresowo.
3. Poproś hosting o dane z tego samego okresu
Przekaż konkretne godziny, zamiast prośby o ogólne „przyspieszenie sklepu”. Poproś o sprawdzenie wykorzystania CPU i pamięci, limitów procesów PHP, czasu odpowiedzi bazy oraz błędów. Wspólnie ustalcie, czy sklep dochodzi do limitu zasobów, czy pojedyncze żądania trwają zbyt długo.
Logi analizuj w bezpiecznym miejscu. Do zgłoszenia wystarczy zanonimizowany fragment: usuń dane klientów, tokeny, identyfikatory sesji i parametry zawierające informacje o zamówieniach. Nie publikuj całego pliku w komentarzu.
4. Sprawdź konfigurację i ostatnie zmiany
Dokumentacja PrestaShop wskazuje znaczenie prawidłowej konfiguracji PHP, OPcache i ustawień pracy produkcyjnej. Tryby diagnostyczne uruchamiaj świadomie i czasowo. Dobór opcji cache zależy od wersji sklepu oraz hostingu — nie zaznaczaj wszystkich opcji wyłącznie dlatego, że zawierają słowo „wydajność”.
Przed eksperymentami wykonaj kopię plików i bazy. Podejrzany moduł lub zmianę szablonu sprawdź najpierw na kopii testowej. Zmieniaj jedną rzecz naraz; wtedy możesz powiązać poprawę albo regresję z konkretną decyzją.
5. Zobacz, jakie adresy generują ruch
Wysoka liczba wejść nie musi oznaczać wielu klientów. Powtarzające się kombinacje filtrów, parametry wyszukiwarki lub serie żądań do tej samej trasy mogą wykonywać kosztowną pracę po stronie sklepu. Przydatne jest zestawienie częstości żądań z ich kosztem, a nie tylko ranking adresów IP.
Sama nazwa User-Agent nie potwierdza, że robot należy do wyszukiwarki. Nie blokuj też ruchu wyłącznie dlatego, że jest automatyczny: integracje płatności, dostaw i porównywarek mogą być potrzebne. Najpierw rozpoznaj wzorzec i sprawdź, jakie zadanie wykonuje.
6. Wybierz działanie pasujące do przyczyny
Jeśli obciążenie pochodzi z niechcianego ruchu, Traffic Guard Pro może pomóc w obserwacji i dobraniu ochrony. Zacznij od poradnika o SHADOW. Moduł ochronny nie naprawi jednak każdego wolnego zapytania SQL, błędu szablonu czy zbyt dużych zdjęć.
Po zmianie powtórz pomiary tych samych stron i przejdź ścieżkę klienta. Zachowaj wyniki „przed” i „po”, żeby kolejny krok wynikał z danych.
- Mam godziny i adresy, na których widać problem.
- Znam ostatnie zmiany i zadania wykonywane w tle.
- Mam porównanie obciążenia serwera i rodzaju ruchu.
- Po poprawce sprawdziłem produkt, koszyk, logowanie i zamówienie.