Dlaczego algorytm kompresji Google "Brotli" jest prawdziwą alternatywą dla gzip

Tobias Schüring Ostatnia aktualizacja 05.11.2020
5 Min.
Ostatnia aktualizacja 05.11.2020

Komu chce się piec mniejsze bułki? - Wszyscy WordPress profesjonaliści, którym zależy na jak najszybszym dostarczeniu swojej strony internetowej. Od pewnego czasu bardzo popularna jest technologia o nazwie Brotli. Jak to sprawia, że Twoja strona jest szybsza i co to ma wspólnego ze Szwajcarią, wyjaśniamy w tym artykule.

Obecnie istnieją różne metody kompresji. Przez długi czas gzip był standardem przez długi czas, ale teraz nowy algorytm kompresji o nazwie Brotli przebija go. I nie bez powodu! Aby mieć pewność, że Twoja strona WordPress nadąża za duchem czasu pod względem kompresji, Brotli stało się standardem na RAIDBOXES. Ale zacznijmy od początku.

Kompresja danych 1 x 1

Kompresja danych jest techniką, która pozwala na maksymalne zmniejszenie przestrzeni dyskowej danych. Ponieważ: Im mniejsza ilość zużywanej energii, tym krótszy czas transmisji.

Zmniejszenie rozmiaru uzyskuje się poprzez kondensację lub redukcję danych. Zasadniczo informacje są przekształcane w krótszą formę, która zajmuje mniej miejsca w pamięci.

Kompresja i rozpakowywanie to dwa procesy, ale najważniejsze jest to, że nadal są one szybsze niż zwykłe przesyłanie dużych ilości danych.

Google jako piekarz

Poprzednim standardem kompresji w Internecie był gzip. Kompresja ta działa w oparciu o algorytm o nazwie Deflate, który jest połączeniem techniki LZ77 i kodowania Huffmana. Deflate istnieje od 1993 roku i od tego czasu stał się absolutnym standardem dla transmisji HTTP.

Ale to nie wystarczyło Google. W swoich niekończących się wysiłkach, aby ulepszyć Internet, gigant z Doliny Krzemowej opracował kilka lat temu algorytm Zopfli (nazwany na cześć szwajcarskiego warkocza drożdżowego). Zopfli wykorzystuje podobną technikę do Deflate i jest również kompatybilny z jego formatem danych, ale posiada już pewne ulepszenia.

To chyba wciąż było za mało dla techników z Google, bo w międzyczasie pojawił się Brotli - nazwany tak na cześć Brötli, szwajcarskich rolek.

Brotli to algorytm open source, który według Google reprezentuje zupełnie nowy format danych. Kompatybilność z Deflate już się skończyła, ale Brotli przynosi kilka innych korzyści.

Gzip vs. Brotli: Kto się ściga?

Jak duże oszczędności zapewnia Brotli w stosunku do standardowego procesu gzip? Raporty wykazują wyraźną przewagę:

  • Dla HTML, Brotli oszczędza 21% więcej pamięci niż gzip.
  • W przypadku JavaScript wartość ta wynosi 14%.
  • CSS jest przechowywany o 17% mniej przez Brotli niż przez gzip.

W zasadzie różnica w szybkości pomiędzy transferem danych skompresowanych i nieskompresowanych jest już bardzo duża. Gzip już teraz oszczędza sporo miejsca na dysku w porównaniu z sytuacją początkową. Brotli idzie o krok dalej - nawet jeśli liczby nie wyglądają na ogromne oszczędności w porównaniu do gzip.

Brotli oferuje korzyści szczególnie dla stron mobilnych

Urządzenia mobilne i taryfy danych w szczególności korzystają z kompresji. W tym przypadku dostępne pasmo jest często znacznie mniejsze, więc nawet 20-procentowe oszczędności przynoszą znacznie lepsze wrażenia użytkownikom. Serwery internetowe i urządzenia mogą być już całkiem szybkie - tylko nie zawsze Internet.

Ponieważ coraz więcej użytkowników korzysta ze stron internetowych w podróży, a tym samym korzysta z mniejszego rozmiaru plików Brotli (na przykład poprzez mniejsze zużycie baterii i niższe opłaty za transmisję), Google ma nadzieję, że algorytm ten stanie się w przyszłości nowym standardem.

Ograniczenia przy pieczeniu chleba

Pomimo tych zalet, Brotli nie jest mistrzem we wszystkich dziedzinach. Prawdopodobnie również dlatego, że algorytm jest dość młody (Google wprowadziło go we wrześniu 2015 roku), wciąż trzeba pogodzić się z jednym lub dwoma ograniczeniami.

Ważna jest dokładna konfiguracja

Jednakże, oszczędność rozmiaru pliku nie jest jedynym punktem odniesienia, w stosunku do którego należy mierzyć metodę kompresji. W końcu chcesz poprawić wydajność swojej strony internetowej. Ważnym aspektem jest również szybkość, z jaką informacje są kompresowane i dekompresowane. Ponieważ zależy to od tego, jak szybko odwiedzający stronę zobaczy wyniki.

Zła konfiguracja pomiędzy oszczędnością pamięci a szybkością konwersji może spowodować, że gzip będzie nawet szybszy niż Brotli. Rzeczywiście, zarówno gzip jak i Brotli mają wiele poziomów jakości (gzip dziewięć, a Brotli jedenaście).

Jest to więc kwestia dopracowania tego, co chcesz uzyskać z konfiguracji. Wyniki testów pokazują, że Brotli na poziomie 4 oszczędza więcej pamięci i działa nawet nieco szybciej niż gzip na poziomie 6.

Brotli działa tylko pod HTTPS

Brotli działa tylko z połączeniami HTTPS. Ale szczerze: Odkąd Google oficjalnie ogłosiło, że korzystanie z HTTPS jest sygnałem rankingowym, powinieneś przejść na SSL tak czy inaczej bardzo szybko. Zwłaszcza, że HTTP2 zapewnia dodatkowy wzrost wydajności. Jest to tylko jeden z wielu powodów, dla których na RAIDBOXES oferujemy darmowy SSL z jednym kliknięciem domyślnie od samego początku.

Brotli jest idealny dla statycznych treści

Innym często dyskutowanym punktem spornym jest kompresja dynamicznej zawartości. Krótkie odświeżenie:

  • Treści dynamiczne są generowane indywidualnie tylko wtedy, gdy użytkownik tego zażąda, np. jeśli chce wyświetlić wpisy z określonych kategorii na blogu lub wybrać koszule określonej marki w określonym rozmiarze w sklepie internetowym za pomocą funkcji filtrowania. Oczywiście, treść jest kompresowana dopiero po wygenerowaniu.
  • Z drugiej strony, treści statyczne są już skompresowane na serwerze i dostarczane wszystkim użytkownikom w ten sam sposób.

Sedno sprawy przy kompresji dynamicznej zawartości: Tak długo, jak serwer jest zajęty kompresją treści, użytkownik nic nie widzi. Dopiero po zakończeniu kompresji dane są dostarczane. A im lepsza ma być kompresja, tym dłużej to trwa. Nawet przy niskich stopniach kompresji, dynamiczna kompresja może już ograniczyć wydajność. Z drugiej strony, zawartość statyczna, która jest już skompresowana, może być dostarczona w mgnieniu oka, gdy użytkownik jej zażąda.

W praktyce okazało się, że Brotli jest bardziej efektywny dla statycznych treści, jeśli algorytm jest odpowiednio skonfigurowany. Jednak w przypadku dynamicznej zawartości wielu operatorów stron internetowych nadal preferuje gzip. Inni twierdzą, że Brotli może również nadążyć za gzipem w przypadku dynamicznej zawartości.

Nie wszystkie przeglądarki obsługują Brotli

Jeśli chodzi o serwery, NGINX i Apache (od wersji 2.5) wspierają Brotli. Jednak nie wszystkie przeglądarki obsługują jeszcze Brotli. Możesz dowiedzieć się, które przeglądarki obsługują Brotli jako standard kompresji na stronie caniuse.com.

Dlaczego algorytm kompresji Google "Brotli" jest prawdziwą alternatywą dla gzip
Źródło: https://caniuse.com/brotli

Użytkownicy Internet Explorera, na przykład, wciąż muszą radzić sobie bez Brotli. Ale dobra wiadomość jest taka, że treść nadal będzie dostarczana do tych użytkowników: W tym przypadku gzip zostanie włączony automatycznie. Nie musisz się więc martwić, że Twoi goście nie będą już nic widzieć.

Ponieważ przynajmniej w Niemczech Chrome i Firefox pokrywają już ponad 70 procent rynku, można założyć, że duża część odwiedzających Państwa stronę internetową może już korzystać z Brotli.

Wnioski

Oszczędność przestrzeni dyskowej, szybsze dostarczanie stron internetowych i zwiększenie wydajności: cieszymy się, że możemy być tego częścią. Moim zdaniem, zalety są oczywiste. RAIDBOXES Klienci już dziś czerpią korzyści: Brotli jest standardowo wbudowany w serwery.

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ą *.