Co to jest wtyczka Query Monitor?

Opublikowany: 2022-12-07

Jeśli kiedykolwiek napotkałeś powolną stronę internetową, której po prostu nie możesz wymyślić, jak przyspieszyć, lub informację zwrotną od klienta, że ​​szuka on zwiększenia wydajności, wtyczka Query Monitor może być Twoim nowym najlepszym przyjacielem. Query Monitor „to panel narzędzi programistycznych dla WordPress.

Umożliwia debugowanie zapytań do bazy danych, błędów PHP, haków i akcji, bloków edytora bloków, kolejkowanych skryptów i arkuszy stylów, wywołań HTTP API i nie tylko…”. A zwłaszcza jeśli jesteś programistą, jest to narzędzie, które chcesz mieć w swoim zestawie narzędzi, gdy nieuchronnie musisz debugować błędy lub nieoczekiwane zachowanie w witrynach WordPress.

W tym artykule przyjrzymy się, czym jest wtyczka Query Monitor i jak może pomóc programiście uzyskać lepszy wgląd w cały kod działający w witrynie WordPress.

Co to jest monitor zapytań

Query Monitor to wtyczka, która jest dla programistów „szwajcarskim scyzorykiem”. Chociaż możesz być przyzwyczajony do przeglądania szablonów, kolejek skryptów i stylów oraz wszystkich różnych wtyczek, które są używane w Twojej witrynie, Query Monitor pozwala przejść o jeden poziom głębiej.

Dzięki zainstalowanej wtyczce Query Monitor możesz przeglądać aktualnie wykonywane zapytania do bazy danych, wszystkie różne części szablonów, które są dołączane jako część ładowania określonej strony, i naprawdę zagłębiać się we wszystko, co może powodować problemy z wydajnością na Twojej stronie. strona internetowa.

Kiedy potrzebujesz Monitora zapytań?

Monitor zapytań jest najważniejszy, gdy zidentyfikowałeś problem w swojej witrynie, niezależnie od tego, czy jest to problem z ogólną wydajnością, problemy na określonej stronie, czy problemy oflagowane przez narzędzie takie jak GTMetrix lub Google PageSpeed. Jednak korzystanie z tych narzędzi może czasami maskować rzeczywisty problem.

Na przykład, jeśli w analizie Google PageSpeed ​​widzisz wynik niskiej wydajności, czy istnieje nieuczciwe zapytanie do bazy danych, które trwa dłużej, niż powinno renderować na każdej stronie? Ponieważ PageSpeed ​​nie ma dostępu do zaplecza Twojej witryny, nie może dostarczyć Ci żadnych bardziej szczegółowych informacji poza „ta część Twojej witryny musi być szybsza”. I tu pojawia się Query Monitor.

Jak wygląda interfejs monitora zapytań?

Podczas gdy Query Monitor ma mnóstwo wbudowanych funkcji (które możesz dokładniej przejrzeć w ramach dokumentacji), my skupimy się na trzech konkretnych częściach wtyczki: debugowaniu zapytań do bazy danych, znajdowaniu dodatkowych informacji o szablonach, które Twoja witryna WordPress używa i zagłębia się w to, które haki i akcje są używane.

Po zainstalowaniu wtyczki Query Monitor, jeśli jesteś zalogowany jako użytkownik WordPress, zobaczysz, że Query Monitor ma własną sekcję jako część paska administracyjnego, gdzie możesz uzyskać dostęp do szczegółowych statystyk, które pomogą Ci rozpocząć debugowanie.

Zapytania do bazy danych

Jeśli wybierzesz element Queries z sekcji Monitor zapytań na pasku administracyjnym, zobaczysz okno wyskakujące u dołu ekranu z podziałem różnych zapytań do bazy danych, które Twoja witryna wykonała w celu renderowania strony, na której się znajdujesz.

Tutaj możesz nie tylko filtrować zapytania do bazy danych, według której części WordPress pierwotnie wykonał zapytanie, ale możesz także łatwo zobaczyć, kiedy wykonano zduplikowane zapytania do bazy danych, które mogą skorzystać z buforowania obiektów.

Przykład Query Monitor wyświetlający różne zapytania do bazy danych dla naszej przykładowej witryny

Przewijając tę ​​​​listę w dół, możesz zobaczyć każde zapytanie bazy danych, które zostało użyte do renderowania strony, na której aktualnie się znajdujesz, a także jaka część bazy kodu WordPress sprawiła, że ​​baza danych może i czas potrzebny na wykonanie zapytania.

Kolumnę Time można sortować, dzięki czemu można bardzo szybko zobaczyć zapytania, których wykonanie zajmuje najwięcej czasu w ramach ładowania strony, i rozpocząć tam debugowanie.

Powolne i zduplikowane zapytania do bazy danych mogą stanowić ogromny problem dla witryn WordPress i często przemykają niezauważone. Jednak patrząc na zapytania do bazy danych za pomocą Query Monitor, możesz zacząć sprawdzać, czy na przykład istnieje metazapytanie post, które wymaga refaktoryzacji, ponieważ Twoja witryna stała się zbyt duża.

Informacje o szablonie

Zwłaszcza podczas debugowania nieoczekiwanych danych wyjściowych w interfejsie witryny bardzo przydatna jest wiedza, który szablon jest używany i jakie części szablonu są ładowane. To kolejny obszar, w którym Query Monitor może być bardzo pomocny.

Wybierając opcję Template z listy rozwijanej Query Monitor, możesz zobaczyć główny szablon, który został użyty do renderowania strony, jak również wszystkie części szablonu, które zostały użyte.

Przykład Query Monitor pokazujący szablony używane do ładowania strony WordPress

Dzięki tym informacjom możesz nie tylko zobaczyć, który szablon jest aktualnie używany, ale także uzyskać trochę informacji o tym, jak hierarchia szablonów została przeanalizowana w ramach tworzenia tej strony, a także jakie klasy ciała zostały uwzględnione.

To sprawia, że ​​karta Template w Query Monitor jest bardzo wydajnym widokiem podczas rozpoczynania debugowania problemów frontonu.

Na przykład, jeśli masz wtyczkę, która ma stosować stylizację do strony za pośrednictwem klasy CSS, najlepszym miejscem do rozpoczęcia debugowania problemów związanych ze stylizacją jest skorzystanie z karty Template w celu sprawdzenia, czy ta klasa treści jest w ogóle dodawana do stronę zgodnie z oczekiwaniami przed przystąpieniem do debugowania CSS.

Haki i akcje

Kolejny obszar wykonania WordPress, który może być trudny do debugowania, staje się widoczny, gdy zaczniesz używać akcji i filtrów. Akcje i filtry są używane przez różnego rodzaju wtyczki i motywy w celu dostosowania funkcjonalności WordPressa, ale nie zawsze możesz mieć pewność, że uruchamiają się dokładnie tak, jak chcesz.

Na przykład częstym problemem jest to, że funkcja jest podłączona do akcji lub filtru, ale wtedy jej funkcjonalność jest zastępowana przez inną funkcję działającą z wyższym priorytetem. Korzystając z zakładki Hooks and Actions w Query Monitor, możesz łatwo przejść do szczegółów i zobaczyć, które funkcje są powiązane z jakimi akcjami i dokładnie w którym miejscu cyklu wykonywania i ładowania strony są uruchamiane.

Przykład karty Hooks & Actions w Query Monitor używanej do debugowania

Kolumna po prawej stronie informuje nawet, który komponent jest odpowiedzialny za wywoływaną funkcjonalność, więc jeśli znajdziesz konflikt, możesz zagłębić się w tę część bazy kodu i dowiedzieć się dokładnie, co się dzieje i co należy zmodyfikować.

Monitor zapytań a WP_DEBUG

Jednym z powszechnych błędnych przekonań jest to, że Query Monitor zapewnia dostęp do informacji, które byłyby dostępne, gdyby w witrynie włączono stałą WP_DEBUG . Podczas gdy Query Monitor zapewnia niektóre z tych samych informacji, które byłyby dostępne, gdybyś debugował swoją witrynę WordPress, informacje, które wyszczególniliśmy powyżej, byłyby znacznie trudniejsze do zdobycia bez szczegółowego debugowania indywidualnego kodu.

Dzięki Query Monitor nie tylko otrzymujesz ładny, przejrzysty interfejs do przeglądania tych informacji, ale otrzymujesz wszystko od razu po wyjęciu z pudełka, bez konieczności modyfikowania bazy kodu, co pozwala bardzo szybko rozpocząć debugowanie problemów i dowiedzieć się, jaka część Twoja baza kodu musi zostać zmodyfikowana.

Ponadto, ponieważ działa tylko dla zalogowanych użytkowników, możesz mieć pewność, że osoby niebędące administratorami Twojej witryny nie zobaczą informacji debugowania, a użytkownicy, którzy nie są zalogowani, nie będą mieli wpływu na wydajność strony Query Monitorowanie działa.

Podsumowanie

Zwłaszcza, gdy nie wiesz, od czego zacząć debugowanie konkretnego problemu w witrynie WordPress, Query Monitor może być świetnym sposobem na uzyskanie ogólnego przeglądu wszystkich kluczowych części cyklu wykonywania WordPress. Przeglądanie różnych zakładek pozwoli Ci zobaczyć, czy coś nie wydaje się być w porządku, i zagłębić się w tę konkretną część wczytywania strony. Dzięki temu potężnemu narzędziu w zestawie narzędzi do debugowania będziesz w stanie szybciej identyfikować problemy i wrócić do tworzenia witryny WordPress.

Do czego używasz Query Monitor i jak pomogło to w przepływie pracy? Daj nam znać poniżej w komentarzach.