Jak moduł Google PageSpeed zjadł naszą wydajność

Tobias Schüring Ostatnia aktualizacja 23.01.2020
5 Min.
Moduł PageSpeed Test Hostera

Oprócz testu PageSpeed Insights , Google oferuje również tzw. moduł Google PageSpeed. Konfiguracja, która automatycznie optymalizuje strony internetowe zgodnie ze specyfikacją Google. W naszym teście moduł ten miał jednak dokładnie odwrotny skutek: bezlitośnie pożerał wydajność naszych stron. Raport z badań terenowych.

Większość operatorów witryn zna to zjawisko: Test Google PageSpeed Insights . Rzetelnie ujawnia potencjały optymalizacyjne badanych stron i jednocześnie pokazuje, jak zoptymalizować zoptymalizuj własną stronę puszka. Dlatego często jest to jedno z pierwszych miejsc, do którego należy się udać w celu optymalizacji wydajności.

Wskazówki i podpowiedzi, z którymi Google PageSpeed Insights początkowo pozostawia użytkownika względnie samemu sobie, są automatycznie implementowane przez moduł Google PageSpeed. Jeśli zainstalujesz go na serwerze internetowym, program nie tylko odkryje potencjał optymalizacji, ale także bezpośrednio wdroży poprawki.

Szczególnie w świetle faktu, że Google uczyniło ostatnio czas ładowania strony oficjalnym kryterium rankingowym, możliwość automatycznej optymalizacji strony wydaje się więcej niż atrakcyjna. Moduł staje się w ten sposób rzekomą tajną bronią optymalizacji wydajności. I oczywiście było to bardzo kuszące również dla nas.

Dlatego już dobry rok temu, na życzenie kilku klientów, szczegółowo go przetestowaliśmy. Nasz wniosek: Dla nas jako hoster, moduł nie ma sensu.

Złożoność zabójcy projektu

Krótko mówiąc, to długa historia: Złożoność kombinacji WordPress i wielu opcji filtrowania modułu PageSpeed uniemożliwiła nam wdrożenie tego rozwiązania. Nie jest to jednak wina zbyt skomplikowanego działania modułu, ale samej ilości opcji konfiguracyjnych. Sam moduł obsługuje się dość wygodnie i intuicyjnie.

Moduł Page Speed oferuje dwa zestawy filtrów predefiniowanych przez Google: Tzw. filtry rdzeniowe i Optymalizacja pod kątem przepustowości Filtry. Filtry podstawowe to zestaw reguł, które zespół Google PageSpeed zebrał razem i które zakładają, że są bezpieczne do stosowania dla większości stron. Nie ma jednak na to żadnej gwarancji. Nowe filtry są ciągle dodawane do zestawu Core, co sprawia, że zoptymalizowane strony stają się szybsze - przynajmniej w teorii.

Core Filterset jest zawsze aktualny, ale również dość niestabilny. W praktyce oznacza to, że należy sprawdzić stabilność i czas ładowania strony po aktualizacji. W przeciwnym razie istnieje ryzyko awarii strony.

Filtry Optimize for Bandwidth oferują większą stabilność działania i mogą być używane dla jeszcze większej liczby różnych typów stron niż standardowy zestaw filtrów.

W naszym teście używaliśmy głównie bardziej stabilnego zestawu filtrów, aby lepiej przewidzieć modułową strukturę WordPress . Niemniej jednak: Jeśli moduł PageSpeed został ustawiony poprawnie dla jednej strony, to na drugiej stronie popsuł układ lub sparaliżował ważne funkcje, takie jak koszyk na zakupy.

Oprócz tych standardowych zestawów, każdy użytkownik może stworzyć swoją własną konfigurację - w zależności od tego, co i w jakim stopniu zostało już zoptymalizowane. Na przykład dokumenty CSS mogą być kompresowane za pomocą filtrów (Google automatycznie usuwa białe spacje i komentarze w arkuszach stylów). Można również ustawiać czasy cache poszczególnych zasobów lub łączyć obrazki w sprite'y.

To właśnie ta obfitość opcji ustawień sprawia, że moduł PageSpeed jest niepraktyczny z punktu widzenia hostera.

Optymalizacja przez HTML - na żywo i przez cache

Ale jak dokładnie działa moduł Google PageSpeed? Zasadniczo wdrażane są te same lub bardzo podobne środki optymalizacyjne, które są zalecane przez Google PageSpeed Insights . Kroki optymalizacji są wykonywane albo przez cache albo na żywo. W tym celu moduł PageSpeed pobiera kod HTML strony i szuka potencjałów optymalizacyjnych, które następnie wdraża.

Moduł PageSpeed dla NGINX można pobrać jednym kliknięciem.
Pakiet modułów można pobrać z obszaru dla deweloperów Google za pomocą jednego kliknięcia.

Implementacja działań optymalizacyjnych poprzez pamięć podręczną jest rozwiązaniem bardziej złożonym. Ponieważ tutaj musisz ustawić, które optymalizacje powinny być uruchamiane przez serwer WWW i jego cache, a które powinny być wykonywane przez sam moduł. W związku z tym realizacja działań optymalizacyjnych musi być w rzeczywistości ustawiona indywidualnie dla każdej konfiguracji strony.

Wersja live wymaga natomiast ogromnej ilości pamięci RAM i mocy obliczeniowej procesora. W ten sposób sama optymalizacja pochłania tak dużo wydajności, że strony ładują się znacznie wolniej. Optymalizacja na żywo jest więc odpowiednia zarówno dla bardzo mocnych serwerów, jak i dla stron z niewielką liczbą odwiedzających.

Prawie nieskończone możliwości

Z czysto matematycznego punktu widzenia, 50 istniejących filtrów daje bardzo, bardzo dużą liczbę możliwych kombinacji (liczba z 15 zerami). Jest to oczywiście zasadniczo zaletą, ponieważ możesz skonfigurować moduł PageSpeed tak, jak potrzebujesz dla swojej własnej strony. Dla nas jednak ta mnogość kombinacji była zabójcą projektu.

Moduł PageSpeed Ilość WP Plugins
Na przeszkodzie globalnemu ustawieniu modułu Google PageSpeed stoi nie tylko ilość opcji filtrów w module Google PageSpeed, ale także mnogość różnych konfiguracji stron, które wynikają z prawie 50 000 darmowych stron Plugins .

Poszczególne strony mogą być zoptymalizowane całkiem dobrze poprzez moduł - jeśli wiesz jak. Ponieważ jest tu tylko jeden zestaw wymagań. Jako hoster, musimy jednak rozważyć całą masę różnych konfiguracji WordPress . I to jest właśnie sedno sprawy: Ponieważ ustawienia modułu musiałyby być tak ogólne, aby wszystkie istniejące witryny były nim objęte, jak również większość potencjalnie nowych witryn.

Pozostaje więc tylko bardzo mała liczba możliwych filtrów. Jednak te z kolei mają tylko minimalny wpływ na czas ładowania strony.

Tak właśnie było w naszym teście. A nawet więcej: Częściowo, strony były jeszcze wolniejsze z powodu użycia modułu.

Moduł szybkości strony zjadł naszą wydajność

Moduł PageSpeed wymaga stosunkowo dużej ilości energii. W przypadku naszych BOXES, może to prowadzić do tego, że moduł pożera więcej wydajności niż może zyskać poprzez optymalizację. Dzieje się tak, ponieważ zawartość strony internetowej jest kompresowana, ale kompresja z kolei wymaga mocy obliczeniowej. Tak więc ogólny czas ładowania strony może ucierpieć z powodu optymalizacji. To jest dokładnie to, co zdarzyło się nam w niektórych przypadkach, zwłaszcza gdy strony były testowane pod obciążeniem.

Optymalizacja obrazu jest łatwiejsza i lepsza dzięki Plugins

Ta nierównowaga jest szczególnie widoczna w optymalizacji obrazu: WordPress Plugins nie tylko był w stanie bardziej skompresować obrazy w naszym teście, ale także działał stabilniej i zużywał tylko ułamek mocy.

Chociaż optymalizacja obrazów Google nie jest z zasady zła, zauważyliśmy w naszym teście, że obrazy wcześniej zoptymalizowane przez moduł PageSpeed były następnie nadal oceniane jako warte optymalizacji przez test PageSpeed. Te paradoksalne stwierdzenia są niestety typowe dla Google PageSpeed Insights.

Wniosek: Nasz hosting jest złym przypadkiem użycia dla Google PagesSpeed Module

Tak więc dwoma zabójcami projektu dla wdrożenia centralnej konfiguracji modułu Google PageSpeed była różnorodność stron, które hostujemy w połączeniu z głodem wydajności modułu. Dlatego implementacja na naszym serwerze Nginx nie ma w tej chwili sensu.

Jednak dla indywidualnych projektów z odpowiednią mocą obliczeniową, moduł PageSpeed z pewnością pozostaje opcją.

Jakie są Twoje doświadczenia z modułem Google PageSpeed? A może masz jakieś pytania dotyczące korzystania z modułu? Napisz do nas komentarz lub skontaktuj się z nami bezpośrednio poprzez czat pomocy technicznej na stronie raidboxes.com.

Jako administrator systemu Tobiasz czuwa nad naszą infrastrukturą i znajduje każdą śrubkę, aby zoptymalizować wydajność naszych serwerów. Dzięki jego niestrudzonym wysiłkom, często można go spotkać w nocy na stronie Slack .

Powiązane artykuły

Komentarze do tego artykułu

Napisz komentarz

Twój adres e-mail nie zostanie opublikowany. Pola obowiązkowe oznaczone są *.