Wolny panel administracyjny WordPress może mieć źródło w przeglądarce, serwerze, bazie danych, wtyczce, motywie albo zewnętrznej usłudze. Najpierw ustal, czy opóźnienie dotyczy całego wp-admin, czy tylko jednego ekranu, na przykład kokpitu, edycji wpisu lub listy wtyczek. Sprawdź wtedy przeglądarkę, wtyczki, PHP, bazę danych, serwer i integracje. Dopiero po ustaleniu zakresu problemu zmieniaj konfigurację.
Spis treści
Jak opisać problem przed rozpoczęciem testów
Zapisz kilka informacji. Dzięki nim łatwiej porównasz wyniki kolejnych prób i sprawdzisz, czy zmiana rzeczywiście pomogła.
- Wolny ekran, na przykład kokpit, edycja wpisu, lista stron lub ustawienia.
- Przybliżony czas oczekiwania i moment, od którego występuje problem.
- Informację, czy opóźnienie pojawia się stale, czy tylko w określonych godzinach.
- Informację, czy problem występuje u wszystkich użytkowników, czy tylko u konkretnego konta lub roli.
- Wynik testu w innej przeglądarce i w trybie incognito.
Porównaj też panel z front-endem strony. Jeśli wolny jest tylko jeden ekran panelu, dalsze testy kieruj przede wszystkim na funkcje uruchamiane na tym ekranie.
Jak wykonać bezpieczne testy w przeglądarce
- Otwórz panel w trybie incognito lub prywatnym. Następnie sprawdź go w innej przeglądarce.
- Otwórz narzędzia deweloperskie przeglądarki i przejdź do karty
Network. Odśwież wolny ekran. - Sprawdź, czy opóźnienie pojawia się przy głównym żądaniu strony, przy żądaniu AJAX lub REST, czy dopiero po otrzymaniu odpowiedzi.
- W karcie konsoli sprawdź błędy JavaScript. Zapisz komunikat, adres żądania i ekran, na którym wystąpił.
Długi czas oczekiwania na odpowiedź serwera wskazuje na potrzebę sprawdzenia WordPressa, PHP, bazy danych lub zasobów serwera. Wolne żądanie AJAX albo REST zawęża test do funkcji, która je wywołuje. Błąd JavaScript może zatrzymać część interfejsu po załadowaniu strony.
Jak sprawdzić wpływ wtyczek i motywu
Testy konfiguracji wykonuj na środowisku testowym. Jeśli go nie masz, przed zmianą utwórz kopię zapasową i przygotuj sposób przywrócenia poprzedniej konfiguracji. Nie wyłączaj bez planu elementów odpowiedzialnych za zabezpieczenia.
- Wyłącz tymczasowo jedną wtyczkę i sprawdź dokładnie ten sam ekran.
- Jeśli wynik się nie zmieni, przywróć wtyczkę i przetestuj następną. Przy dużej liczbie wtyczek możesz testować grupy, a potem zawęzić wynik do pojedynczej wtyczki.
- Jeśli problem dotyczy konkretnego ekranu, zacznij od wtyczek, które dodają funkcje do tego ekranu, wykonują synchronizację albo komunikują się z zewnętrznym API.
- Po teście przywróć poprzednią konfigurację i sprawdź, czy problem wrócił.
- Jeśli test wtyczek nie wykazał przyczyny, sprawdź działanie panelu z domyślnym motywem na środowisku testowym.
Wynik potwierdza hipotezę dopiero wtedy, gdy opóźnienie znika po zmianie i pojawia się ponownie po jej cofnięciu. Nie usuwaj wtyczki ani jej danych podczas pierwszego testu.
Jak analizować zapytania WordPressa
Do analizy konkretnego wolnego ekranu może pomóc Query Monitor. Wtyczka dodaje w panelu administracyjnym pasek narzędziowy ze szczegółowymi danymi o wydajności, w tym o czasie ładowania poszczególnych żądań HTTP i zapytań do bazy danych. Opis metody z użyciem Query Monitor zaleca rozpoczęcie od identyfikacji problematycznych stron administracyjnych.
Uruchom analizę na wolnym ekranie, a następnie porównaj ją z ekranem działającym prawidłowo. Zwróć uwagę na żądania HTTP, zapytania do bazy danych oraz elementy ładowane tylko na problematycznej stronie. Nie usuwaj danych na podstawie pojedynczego wpisu w narzędziu. Najpierw powtórz pomiar i potwierdź, że wynik jest powtarzalny.
Co sprawdzić po stronie serwera i PHP
Jeśli problem występuje na wielu ekranach i u różnych użytkowników, sprawdź środowisko serwera:
- wersję PHP i WordPressa oraz ich zgodność z używanymi wtyczkami i motywem,
- limit pamięci PHP i pamięci WordPressa,
- użycie CPU, RAM, operacji wejścia i wyjścia oraz dostępne miejsce na dysku,
- limity hostingu i obciążenie procesów w czasie występowania problemu.
Porównaj wyniki z godziną zapisaną podczas obserwacji. Jeśli opóźnienie występuje tylko przy większym ruchu lub podczas zadań w tle, sprawdź obciążenie właśnie w tym czasie. W Elastycznym Web Hosting zasoby mogą dopasowywać się do aktualnego ruchu i obciążenia, a po spadku obciążenia wracać do poziomu bazowego.
Jak sprawdzić bazę danych i zadania w tle
Wolny panel może wymagać sprawdzenia danych ładowanych przy każdym żądaniu. Zwróć uwagę na rozmiar tabel, rozrastające się logi, rewizje, dane tymczasowe oraz opcje ładowane automatycznie. Sprawdź również, czy nie ma zalegających zadań WP-Cron.
Wykonuj zmiany dopiero po kopii zapasowej. Najpierw zmierz stan obecny, potem ogranicz tylko element wskazany przez pomiar i ponownie sprawdź ten sam ekran. Nie usuwaj logów, rewizji ani danych tymczasowych bez możliwości cofnięcia zmiany.
Jak rozpoznać opóźnienia zewnętrznych usług
Wtyczki mogą wykonywać połączenia do usług aktualizacji, licencji, analityki, powiadomień lub synchronizacji. W karcie Network sprawdź, czy wolne żądanie prowadzi do zewnętrznego adresu oraz czy kończy się timeoutem lub błędem HTTP. Porównaj wynik z ekranem, który nie korzysta z tej integracji.
Jeśli opóźnienie znika po bezpiecznym wyłączeniu konkretnej integracji na środowisku testowym, zapisz wynik i przywróć konfigurację. Dalsza zmiana powinna dotyczyć tylko wskazanej integracji, a nie całego panelu.
Plan naprawczy według kolejności
- Usuń przyczynę po potwierdzonym teście, na przykład zastąp problematyczną wtyczkę albo ogranicz ciężkie zadanie.
- Ogranicz rozrastające się logi i dane tylko po wykonaniu kopii zapasowej.
- Sprawdź i uporządkuj obciążające elementy bazy danych.
- Zweryfikuj limity PHP, zasoby serwera i obciążenie procesów.
- Aktualizuj WordPress, PHP, wtyczki lub motyw dopiero po sprawdzeniu zgodności i przygotowaniu możliwości cofnięcia.
Objaw, test i następne działanie
| Objaw | Test | Następne działanie |
|---|---|---|
| Wolny cały panel | Inna przeglądarka, różni użytkownicy, obciążenie serwera | Sprawdź PHP, pamięć, CPU, RAM i bazę danych |
| Wolny jeden ekran | Porównanie żądań HTTP i zapytań bazy | Izoluj funkcję, wtyczkę lub motyw używany na tym ekranie |
| Wolne żądanie AJAX lub REST | Karta Network i Query Monitor | Sprawdź funkcję, zadanie w tle i integrację zewnętrzną |
| Błąd JavaScript | Konsola przeglądarki | Powtórz test po bezpiecznym wyłączeniu podejrzanej funkcji |
| Timeout albo błąd HTTP | Adres żądania i jego odpowiedź | Sprawdź połączenie z usługą zewnętrzną lub serwerem |
Kiedy potrzebna jest pomoc administratora lub hostingodawcy
Poproś o pomoc, gdy problem obejmuje wiele ekranów, powtarza się przy różnych użytkownikach, łączy się z wysokim obciążeniem zasobów, błędami 5xx, timeoutami albo wymaga zmian w konfiguracji serwera. Przekaż wtedy nazwę wolnego ekranu, godzinę wystąpienia, wynik testu przeglądarki, komunikaty błędów oraz informację o ostatniej zmianie.
