Kogo nie denerwuje to kręcące się w nieskończoność kółeczko sygnalizujące ładowanie się strony w przeglądarce. Na pewno każdy natknął się kiedyś na witrynę wczytującą się niesłychanie powoli. Tak powoli, że aż można było dostać gorączki podczas przeskakiwania między podstronami. Jak przyspieszyć swoją własną witrynę?

Z ratunkiem może przyjść mechanizm cache’owania strony. Jest to niemal to samo, co często robią przeglądarki urządzeń wyświetlających pewne treści. Z oczywistych względów sposób ten musiał być nieco rozbudowany.

Mechanizm cache
Mechanizm cache

W tym artykule nie zamierzam jednak roztrząsać się nad tym, czym jest cache i jak go zaimplementować. Lepiej jedynie ukazać jak wielkie korzyści można zdobyć wykorzystując to, co już istnieje.

Do testów wykorzystano trzy przypadki. 1: strona bez mechanizmu cache. 2: strona z Redis Cache. 3: strona zarówno z Redis Cache, jak i Varnish Cache. Wszystkie trzy metody testowane były niezależnie na specjalnie przygotowanej kopii deweloperskiej sklepu. W ten sposób zminimalizowano czynnik losowości, który polegałby na przypadkowym ruchu na witrynie przez innych klientów. Można zatem uznać, że test został wykonany możliwie najbardziej obiektywnie.

Varnish, by przyspieszyć stronę www!
Varnish!

Nasz zespół wykonał wszystkie poniższe testy na jednym z serwerów klientów administrowanych przez nas. 

Próba pierwsza

Każdy test wykonaliśmy za pomocą dwóch narzędzi analitycznych testujących witryny pod pewnymi zadanymi parametrami: stworzony przez Google PageSpeed Insights oraz niezależny GTmetrix. Oba narzędzia na pewno są znane deweloperom i twórcom stron internetowych. Wyniki oczywiście podawane są w o wiele bardziej złożony sposób. Tym razem jednak interesowała nas sama prędkość ładowania strony (w wypadku GTmetrix) oraz czas odpowiedzi serwera (PageSpeed). Podsumowanie poniżej.

Czy udało się przyspieszyć? GTmetrix próba 1
GTmetrix – próba 1
Czy udało się przyspieszyć? PageSpeed próba 1
PageSpeed Insights – próba 1

Skala kolorystyczna wyraźnie ukazuje resultaty: czerwony to najwyższa liczba w wierszu (najgorszy przypadek), natomiast zielony to najniższa liczba w wierszu (najlepszy przypadek). Pomijając zatem drobne wahania wyraźnie widać, że strona z Redisem działa nieco szybciej, jednak prawdziwy przeskok czasowy otrzymujemy przy wykorzystaniu przede wszystkim Varnisha wspomaganego przez Redis Cache.

Próba druga

Wykonaliśmy również drugą próbę, ponieważ nigdy nie można ufać pojedynczemu testowi. Ta tylko uwiarygodniła rezultaty poprzedniej. Jak w poprzedniej sekcji: poniżej wyniki.

Czy udało się przyspieszyć? GTmetrix próba 2
GTmetrix – próba 2
Czy udało się przyspieszyć? PageSpeed próba 2
PageSpeed Insights – próba 2

Tym razem nieco większe wahania między stroną bez, jak i z Redisem wystąpiły w GTmetrix, natomiast PageSpeed pokazał bardziej stabilne wyniki, jednak wniosek pozostawiliśmy ten sam – Varnish oraz Redis znacząco zwiększają szybkość odpowiedzi serwera oraz wczytania pełnej strony. 

Powinniśmy również wyjaśnić, dlaczego dane w tabelach dla PageSpeed w kolumnach Varnish+Redis nie są podane dokładnie, a jedynie arbitralnie zaznaczono „poniżej 0.2„. Jest to spowodowane tym, iż PageSpeed nie podaje precyzyjnych wartości poniżej 200ms. Jest to jednak najlepszy możliwy rezultat dla tego parametru w tym konkretnym teście.

Czy udało się przyspieszyć? Wnioski

Jako administratorzy ukazaliśmy w bardzo precyzyjny sposób, iż zaimplementowanie cache Varnish+Redis pozwoliło wyraźnie przyspieszyć stronę www. Dzięki takiej analizie (która oczywiście była bardziej dogłębna, nie sprowadzała się jedynie do analizy czasów wczytywania strony 😉) nasz klient mógł zwiększyć swoją produktywność, co wprost przelicza się na zarobek. Jak to mówią – czas to pieniądz

Jeśli również Twoja strona potrzebuje pomocy – zapraszamy! Zakładka kontakt jest do Twojej dyspozycji, nasi administratorzy zawsze służą pomocą 😉 Po więcej ciekawych artykułów zerknij tutaj.

Źródła grafik: [1], [2]


Gniewomir Depowski

Energiczny SysOp z zamiłowaniem do automatyzacji, bezpieczeństwa, Apple i muzyki. Szczęśliwy administrator systemów Unixowych. Równie chętnie pracuje w lini komend, jak i edytorze tekstu – pisarz z zamiłowania. Gitarzysta, wokalista, fascynat nowych technologii i motoryzacji.

Podoba Ci się?Zapisz się do newslettera

Juz nie pominiesz żadnego z naszych nowych wpisów! Zostaw nam swój adres e-mail, a my powiadomimy Cię, gdy ukaże się nowy artykuł na naszym Bezpiecznym Blogu 💪