Wtyczka WordPress Query Monitor: Debugujmy i poprawmy wydajność
Opublikowany: 2019-09-05
Czy otrzymujesz błędy WordPress, ale nie możesz ich rozwiązać?
Aby wykryć błędy WordPress, programiści zwykle pracują w odwrotnej kolejności. Zaczynają od wykluczenia sekcji kodu, które mogą zawierać problem (problemy), a następnie zaczynają oceniać poszczególne obszary. Ogólnie rzecz biorąc, w przypadku witryn WordPress głównymi obszarami zainteresowania są ustawienia PHP, plik .htaccess, plik wp-config, zapytania do bazy danych i ustawienia DNS.
Jakiś czas temu natknąłem się na wtyczkę WordPress Query Monitor, świetne narzędzie deweloperskie do odkrywania, co dzieje się na stronie. Wtyczka oferuje szczegółowe informacje, które programiści mogą wykorzystać do zawężenia „problematycznych” obszarów kodu.
W tym samouczku dotyczącym wtyczki zacznę od szczegółowego wprowadzenia wtyczki Monitor zapytań WordPress, a następnie przejdę do krótkiego opisu typowego przypadku użycia wtyczki.
- Co to jest monitor zapytań WordPress?
- Funkcje monitora zapytań WordPress
- Dlaczego monitor zapytań jest przydatny dla programistów?
- Jak korzystać z monitora zapytań WordPress?
Co to jest monitor zapytań WordPress?
Query Monitor to wtyczka WordPress, która dodaje wielką wartość do fazy debugowania i ogólnie poprawia ogólną wydajność przepływów pracy deweloperów WordPress.
Wtyczka dodaje wpis w górnym pasku menu, który działa jak lista rozwijana, która zawiera liczbę zapytań wykonywanych na bieżącej stronie, czas ładowania, filtry według typu zapytania, filtry według komponentów itp. W rezultacie programiści mieć lepsze wyobrażenie o tym, co może być przyczyną błędów na stronie.

Został opracowany przez Johna Blackbourna i jest dostępny zarówno w oficjalnym repozytorium wtyczek WordPress, jak i na GitHub. Jak każda świetna wtyczka WordPress, Query Monitor jest regularnie aktualizowany, a zespół programistów zapewnia doskonałe wsparcie i poprawki dla wszystkich zgłoszonych błędów.
Instalacja jest bardzo prosta i generalnie nie wymaga dodatkowych czynności (w porównaniu do procesu instalacji podobnych wtyczek). Po instalacji ta wtyczka debugowania WordPressa nie wymaga dodatkowej konfiguracji. Od razu po wyjęciu z pudełka zaczyna wyświetlać listę rozwijaną na pasku narzędzi administratora.

Klikając wpisy na liście rozwijanej, można uzyskać dostęp do szczegółowych informacji o zapytaniach do bazy danych, skryptach i ładowanym CSS, aktywnych zaczepach i wywołaniach interfejsu API HTTP.

Funkcje monitora zapytań WordPress
Oto krótki przegląd funkcji wtyczki Query Monitor.
Błędy motywu
Funkcja motywu wyświetla listę wszystkich zapytań wywołanych przez zainstalowany motyw WordPress. Wyświetla nazwę pliku szablonu motywu odpowiedzialnego za określone zapytanie i pokazuje pełną hierarchię szablonów. Funkcja motywu podkreśla również wyładowane części motywu i nazwę aktywnego motywu WordPress.
Błędy PHP
WordPress działa na PHP i niezależnie od tego, czy żądanie jest generowane przez motyw, czy wtyczkę, jest to kod PHP. Funkcja błędów PHP podświetla komponenty źródłowe oraz lokalizację odpowiedzialną za wygenerowanie zapytania.
Uwaga: Nie wszystkie zapytania wymienione w Monitorze zapytań są poważne. Całkiem możliwe, że to tylko ostrzeżenie.
Połączenia AJAX
Dynamiczne witryny WordPress wykonują wiele wywołań Ajax w celu wysyłania i pobierania danych w czasie rzeczywistym bez ładowania całej strony internetowej. Monitor zapytań wyświetla również te żądania wraz z innymi przydatnymi informacjami dotyczącymi debugowania. Te informacje mogą pomóc programiście w zwracaniu uwagi na ewentualne błędy.
REST API
Jeśli masz uprawnienia do monitorowania Monitora zapytań, możesz debugować informacje prezentowane w nagłówku żądania uwierzytelnionego interfejsu API REST WordPress. Obecnie wtyczka obsługuje tylko błędy PHP i użycie pamięci.
Uwierzytelnianie
Domyślnie tylko administrator instalacji w jednej witrynie i superadministrator WordPress Multisite mogą przeglądać dzienniki w monitorze zapytań. Możesz jednak skonfigurować plik cookie uwierzytelniania, który umożliwia wyświetlanie dzienników nawet wtedy, gdy jesteś zalogowany jako użytkownik.
Oświadczenie o ochronie prywatności
Monitor zapytań WordPress nie zbiera żadnych danych ani nie wysyła żadnych danych do stron trzecich.
Zauważyłem również, że często zadawane pytania wskazują, że dodatki do paska debugowania mogą być używane z monitorem zapytań, po prostu najpierw dezaktywuj pasek debugowania. Są też dodatki do Query Monitor.
Dlaczego monitor zapytań jest przydatny dla programistów?
Dzięki wtyczce Query Monitor programiści mogą mieć dobre wyobrażenie o tym, które obszary należy poprawić. Co więcej, programiści mogą odkryć wtyczkę lub inne zasoby witryny, które zużywają nienormalną ilość zasobów lub (w gorszych przypadkach) są w konflikcie z resztą plików podstawowych.
Dla właścicieli witryn i programistów zainteresowanych usprawnieniem optymalizacji wydajności sieci (WPO) Query Monitor jest idealnym rozwiązaniem do identyfikowania wąskich gardeł, które można naprawić za pomocą ulepszonych fragmentów kodu, alternatyw lub w niektórych przypadkach całkowitej wymiany skryptów/wtyczek.
Rozważmy proste zadanie deweloperskie – ustalenie czasu ładowania strony oraz liczby aktywnych zapytań na stronie.
WordPress oferuje dwie proste funkcje: get_num_queries () i timer_stop() . Jak sama nazwa wyjaśnia, get_num_queries() zwraca liczbę zapytań do bazy danych wygenerowanych podczas wykonywania, a timer_stop() zwraca liczbę sekund potrzebnych do wygenerowania strony.

Jak korzystać z monitora zapytań WordPress?
Po zainstalowaniu i aktywacji Query Monitor, musisz przejść do Wtyczki → Zainstalowane wtyczki → Query Monitor → Ustawienia, a następnie kliknąć przycisk „ Ustaw plik cookie uwierzytelniania ”. Przyjrzyjmy się teraz szczegółowo każdej sekcji wtyczki Query Monitor.
Przegląd
Pierwsza zakładka zawiera przegląd Twojej witryny. Pokazuje czas generowania strony, szczytowe użycie pamięci, czas zapytań do bazy danych i zapytania do bazy danych.

Zapytania do bazy danych
Za każdym razem, gdy użytkownik żąda jakichkolwiek informacji lub próbuje je przesłać, wyzwalane jest zapytanie do bazy danych. Monitor zapytań śledzi to zapytanie i wyświetla je w dziennikach, dzięki czemu jako użytkownik możesz zobaczyć, które zapytania zostały wykonane pomyślnie, a które nie. I może również filtrować według typu i składnika zapytania.

Wniosek
Funkcja żądania wyświetla zmienną zapytania dla bieżącego użytkownika i podświetla zapytanie niestandardowe. Pokazuje również powiązane ciągi zapytań obecne w żądaniu.

Ekran administratora
Ta sekcja pokazuje czynności zachodzące w panelu administracyjnym WordPressa. Wyświetla listę komponentów, do których uzyskuje się dostęp z panelu administracyjnego, i wyświetla błąd z powodu niedostępności dowolnego pliku PHP.

Skrypty
Gdy odwiedzasz zakładkę Skrypty w Monitorze zapytań, wyświetla ona listę wszystkich zakolejkowanych skryptów i stylów zawartych w żądaniu. Podkreśla również każdy uszkodzony lub nieodpowiadający skrypt z powodu zewnętrznej zależności.

Style
Jest całkiem możliwe, że czasami z powodu zewnętrznej zależności pewien plik CSS nie ładuje się i psuje układ Twojej strony internetowej. Ta sekcja dotyczy arkuszy stylów CSS i pomaga zidentyfikować pliki źródłowe za każdym zapytaniem.

Haki i akcje
Hooki i akcje odgrywają ważną rolę w każdej witrynie WordPress, ponieważ umożliwiają tworzenie niestandardowych funkcji za pomocą predefiniowanych kontrolek zapewnianych przez sam WordPress. Może to czasami spowodować uszkodzenie witryny, a rozwiązanie problemu może być męczącą pracą.
Dzięki Query Monitor, który ma wbudowane narzędzie do identyfikacji błędów spowodowanych przez hooki i akcje. Pozwala to filtrować akcje i hooki według rdzenia, motywu lub wtyczki. A także podaj pełną nazwę i odniesienie, które można łatwo znaleźć w kodzie do celów debugowania.

Języki
W przypadku witryny wielojęzycznej zakładka Język identyfikuje wszelkie uszkodzone lub niedostępne pliki, a także wyświetla ustawienia językowe.

Wywołania HTTP API
Ta karta pokazuje wszystkie zapytania po stronie serwera, a także pokazuje kod odpowiedzi, dziennik przekroczenia limitu czasu i nieudane żądania. Jest to przydatna funkcja, ponieważ pozwala zobaczyć odpowiedź w czasie rzeczywistym i pomóc w wydajnym debugowaniu kodu po stronie serwera.

Aktualizacje przejściowe
WordPress może buforować odpowiedź API w swojej bazie danych, ponieważ niektóre API dopuszczają tylko określoną liczbę żądań w danym momencie. Aktualizacje przejściowe pokazują te stany nieustalone, a także wyświetlają rozmiar i składnik.

Kontrole zdolności
Domyślnie jest to nieaktywne i można je aktywować, umieszczając kod w pliku wp-config.php. Funkcja sprawdzania zdolności sprawdza możliwości każdego użytkownika na stronie i wyświetla parametry wraz z wynikiem.

Środowisko
To jest kompletny przegląd środowiska WordPress i zawiera trzy sekcje dotyczące PHP, bazy danych i WordPress. Wewnątrz każdej sekcji wyświetlane są przydatne informacje o środowisku, takie jak wersja MySQL, limit pamięci PHP, wersja WordPress itp.

Warunkowe
Pokazuje wszystkie warunki WordPress w bieżącym żądaniu.

Podsumowanie!
Wtyczka WordPress Query Monitor koncentruje się na debugowaniu i udostępnia wszystkie istotne informacje w łatwy do zrozumienia sposób. Wtyczka jest idealna do szybkiego identyfikowania wtyczek, motywów lub funkcji, które wpływają na wydajność witryny.
Wtyczka integruje menu na pasku narzędzi administratora, które pokazuje ogólny opis bieżącej strony, z pełnymi danymi wyświetlanymi w panelu (po wybraniu elementu menu). Których z tych komponentów używasz najczęściej, by utrzymać swoją witrynę w dobrym stanie? Jakieś sugestie?
