Zmienność latarni morskiej

Na skuteczność stron internetowych ma wpływ wiele czynników. Wyniki wydajności w Lighthouse zmieniają się zwykle z powodu zmienności technologii internetowych i sieci, nawet jeśli na stronie nic się nie zmienia.

Źródła zmienności

Zmienność w pomiarze skuteczności wprowadza szereg kanałów o różnym stopniu wpływu. Poniżej znajdziesz tabelę z kilkoma typowymi źródłami zmienności wskaźników, ich typowym wpływem na wyniki oraz zakresem, w jakim będą one prawdopodobnie występować w różnych środowiskach.

Źródło Wpływ Typowy użytkownik PageSpeed Insights Laboratorium kontrolowane
Niedeterminizm strony Wysoka PRAWDOPODOBNIE PRAWDOPODOBNIE PRAWDOPODOBNIE
Zmienność w sieci lokalnej Wysoka PRAWDOPODOBNIE NIEPRAWIDŁOWO NIEPRAWIDŁOWO
Zmienność sieci poziomu 1 Medium MOŻLIWE MOŻLIWE MOŻLIWE
Zmienność serwera WWW Niska PRAWDOPODOBNIE PRAWDOPODOBNIE PRAWDOPODOBNIE
Zmienność sprzętu klienta Wysoka PRAWDOPODOBNIE NIEPRAWIDŁOWO NIEPRAWIDŁOWO
Rywalizacja o zasoby klienta Wysoka PRAWDOPODOBNIE MOŻLIWE NIEPRAWIDŁOWO
Niedeterminizm przeglądarek Medium PEWNO PEWNO PEWNO

Poniżej znajdziesz bardziej szczegółowe opisy źródeł wariancji i ich wpływu na najbardziej prawdopodobne kombinacje środowiska wykonawczego i środowiska Lighthouse. W każdym z tych 3 środowisk można stosować ograniczanie i symulowane ograniczanie, ale typowy użytkownik korzysta z symulowanego ograniczania.

Niedeterminizm strony

Strony mogą zawierać logikę, która nie jest deterministyczna, czyli zmienia sposób postrzegania strony przez użytkownika, np. test A/B, który zmienia układ i wczytywane zasoby, lub wyświetlanie reklam w zależności od postępu kampanii. To celowe i nieusuwalne źródło rozbieżności. Jeśli strona zmienia się w sposób, który pogarsza jej wydajność, narzędzie Lighthouse powinno być w stanie zidentyfikować ten przypadek. W tym przypadku jedynym sposobem na uniknięcie problemów jest dbanie o to, aby właściciel witryny testował dokładnie tę samą wersję strony w różnych uruchomieniach.

Zmienność działania sieci lokalnej

W sieciach lokalnych występują nieodłączne wahania związane z utratą pakietów, zmiennym priorytetem ruchu i przeciążeniem sieci na ostatnim etapie. Najczęściej są na to najbardziej narażeni użytkownicy z tańszymi routerami i wieloma urządzeniami o ograniczonej przepustowości. Zastosowane ograniczanie częściowo łagodzi te efekty przez zastosowanie minimalnego czasu oczekiwania na żądanie i maksymalnej przepustowości, które maskują kolejne próby. Symulowane ograniczanie łagodzi te skutki, samodzielnie odtwarzając aktywność sieci.

Zmienność sieci poziomu 1

Połączenia sieciowe są zwykle bardzo stabilne i mają minimalny wpływ na żądania z różnych lokalizacji geograficznych, np. podczas pomiaru wydajności chińskiej witryny z USA mogą wystąpić znaczne opóźnienia spowodowane przeskokami sieciowymi pierwszego poziomu. Zastosowano – częściowe maskowanie tych efektów za pomocą ograniczania wykorzystania sieci. Symulowane ograniczanie łagodzi te skutki, samodzielnie odtwarzając aktywność sieci.

Zmienność serwera WWW

Serwery WWW są wczytywane ze zmiennym opóźnieniem i nie zawsze odpowiadają z takim samym opóźnieniem. Bardziej narażone są na to witryny o mniejszym natężeniu ruchu ze współdzieloną infrastrukturą hostingu. Ograniczanie stosowane częściowo maskuje te efekty przez zastosowanie minimalnego czasu oczekiwania na żądanie w ramach ograniczania sieci. Symulowane ograniczanie jest podatne na ten efekt, ale ogólny wpływ jest zwykle niewielki w porównaniu z innymi zmiennością sieci.

Zmienność sprzętu klienckiego

Sprzęt, na którym wczytuje się strona internetowa, może znacznie wpływać na wydajność. Stosowane ograniczanie nie ma żadnego wpływu na rozwiązanie tego problemu. Symulowane ograniczanie częściowo łagodzi ten problem przez ograniczenie teoretycznego czasu wykonywania zadań procesora podczas symulacji.

Rywalizacja o zasoby klienta

Inne aplikacje działające na tym samym komputerze, gdy działa Lighthouse, mogą powodować rywalizację o procesor, pamięć i zasoby sieciowe. Szczególnie na wydajność witryny wpływa złośliwe oprogramowanie, rozszerzenia przeglądarki oraz oprogramowanie antywirusowe. Te problemy mogą również występować w środowiskach serwerów wielu najemców (np. Travis, AWS itp.). Korzystanie z kilku wystąpień Lighthouse także zwykle zniekształca wyniki z powodu tego problemu. Ten problem może dotyczyć stosowanych ograniczeń. Symulowane ograniczanie częściowe eliminuje ten problem przez ponowne odtwarzanie aktywności w sieci i ograniczenie wykonywania procesora.

Niedeterminizm przeglądarek

Przeglądarki mają nieodłączną zmienność w wykonywaniu zadań, która wpływa na sposób wczytywania stron internetowych. Jest to nieuniknione w przypadku stosowania ograniczania, ponieważ pod koniec dnia raporty po prostu wysyłają raporty zaobserwowane przez przeglądarkę. Symulowane ograniczanie jest w stanie częściowo ograniczyć ten efekt dzięki własnej symulacji wykonywania zadań i wykorzystuje w szacunkach tylko czasy wykonywania zadań z przeglądarki.

Wpływ strategii ograniczania

Poniżej znajdziesz tabelę z kilkoma typowymi źródłami zmienności danych, ich typowym wpływem na wyniki oraz zakresem, w jakim różne strategie ograniczania Lighthouse mogą złagodzić ich efekt. Więcej informacji o różnych strategiach ograniczania znajdziesz w dokumentacji ograniczania.

Źródło Wpływ Symulowane ograniczanie Zastosowano ograniczanie Bez ograniczania
Niedeterminizm strony Wysoka BRAK MITOWANIA BRAK MITOWANIA BRAK MITOWANIA
Zmienność w sieci lokalnej Wysoka PRZENIESIONE CZĘŚCIOWE MIEJSCA BRAK MITOWANIA
Zmienność sieci poziomu 1 Medium PRZENIESIONE CZĘŚCIOWE MIEJSCA BRAK MITOWANIA
Zmienność serwera WWW Niska BRAK MITOWANIA CZĘŚCIOWE MIEJSCA BRAK MITOWANIA
Zmienność sprzętu klienta Wysoka CZĘŚCIOWE MIEJSCA BRAK MITOWANIA BRAK MITOWANIA
Rywalizacja o zasoby klienta Wysoka CZĘŚCIOWE MIEJSCA BRAK MITOWANIA BRAK MITOWANIA
Niedeterminizm przeglądarek Medium CZĘŚCIOWE MIEJSCA BRAK MITOWANIA BRAK MITOWANIA

Strategie radzenia sobie z wariancją

Wyodrębnij czynniki zewnętrzne

  • Postaraj się odizolować swoją stronę od źródeł zewnętrznych. Nigdy nie obwiniać się za zmienne porażki innych osób.
  • Wyizoluj niedeterminizm w swoim kodzie podczas testów. Jeśli masz animację, która pojawia się w sposób losowy, Twoje wyniki też mogą być losowe.
  • Odizoluj serwer testowy od jak największej zmienności sieci. Jeśli zależy Ci na stabilności, używaj lokalnego hosta lub komputera w tej samej sieci.
  • Odizoluj środowisko klienta od czynników zewnętrznych, takich jak oprogramowanie antywirusowe i rozszerzenia przeglądarki. W miarę możliwości używaj dedykowanego urządzenia do testowania.

Jeśli Twój komputer ma bardzo ograniczone zasoby lub tworzenie czystego środowiska jest trudne, przeprowadź testy w hostowanym środowisku laboratoryjnym, takim jak PageSpeed Insights lub WebPageTest. W przypadku ciągłej integracji używaj w miarę możliwości dedykowanych serwerów. Wolne środowiska CI i instancje „burstable” są zwykle dość zmienne.

Uruchom Lighthouse wiele razy

Podczas tworzenia progów pod kątem porażki (mentalnych lub automatycznych) używaj wartości zagregowanych, takich jak mediana, 90 centyl lub nawet wartość minimalna, zamiast pojedynczych testów.

Mediana wyniku Lighthouse 5 uruchomień jest 2 razy stabilniejsza niż jedno uruchomienie, a narzędzia takie jak pwmetrics mogą uruchamiać Lighthouse automatycznie. Użycie wartości minimalnej to duża zmiana w stosunku do nietestowania. Jest ona niezwykle prosta w implementacji. Wystarczy uruchomić Lighthouse do 5 razy, aż minie.

Prześlij opinię

Czy ta strona była pomocna?
Tak
Co jest najlepsze na tej stronie?
Udało mi się osiągnąć cele
Dziękujemy za opinię. Jeśli masz konkretne pomysły, jak ulepszyć tę stronę, utwórz zgłoszenie.
Zawierał potrzebne informacje
Dziękujemy za opinię. Jeśli masz konkretne pomysły, jak ulepszyć tę stronę, utwórz zgłoszenie.
Zawierał(a) dokładne informacje
Dziękujemy za opinię. Jeśli masz konkretne pomysły, jak ulepszyć tę stronę, utwórz zgłoszenie.
Treść była czytelna
Dziękujemy za opinię. Jeśli masz konkretne pomysły, jak ulepszyć tę stronę, utwórz zgłoszenie.
Inny powód
Dziękujemy za opinię. Jeśli masz konkretne pomysły, jak ulepszyć tę stronę, utwórz zgłoszenie.
Nie
Co jest najgorsze na tej stronie?
Nie pomogło mi to w realizacji celów
Dziękujemy za opinię. Jeśli masz konkretne pomysły, jak ulepszyć tę stronę, utwórz zgłoszenie.
Brakowało potrzebnych mi informacji
Dziękujemy za opinię. Jeśli masz konkretne pomysły, jak ulepszyć tę stronę, utwórz zgłoszenie.
Zawierał nieprawidłowe informacje
Dziękujemy za opinię. Jeśli masz konkretne pomysły, jak ulepszyć tę stronę, utwórz zgłoszenie.
Trudno było przeczytać tekst
Dziękujemy za opinię. Jeśli masz konkretne pomysły, jak ulepszyć tę stronę, utwórz zgłoszenie.
Inny powód
Dziękujemy za opinię. Jeśli masz konkretne pomysły, jak ulepszyć tę stronę, utwórz zgłoszenie.