Wciąż mówi się o szybkości stron internetowych, ale zazwyczaj koncentrujemy się na froncie, czyli na tym jak pliki statyczne są zoptymalizowane, jak szybko strona jest renderowania w przeglądarkach na różnych urządzeniach itp… Warto jednak rownież spojrzeć na to co dzieje się po stronie serwera.

Dziś kilka słów o metryce TTFB (Time to First Byte). To często pomijany wskaźnik wydajności mający jednak wpływ na szybkość ładowania się stron.

Co to jest TTFB?

TTFB (Time to First Byte), to czas jaki przeglądarka musi odczekać zanim otrzyma pierwszy bajt danych z serwera. Im dłużej trwa otrzymanie tych danych, tym dłużej Twój potencjalny Klient będzie musiał czekać na wyświetlenie się strony. jakie to może mieć konsekwencje? Choćby spadek konwersji.

Błędnym przekonaniem jest to, że TTFB jest to obliczane wyłącznie w oparciu o DNS lookup. W praktyce TTFB zawsze zawiera opóźnienia sieciowe i obejmuje 3 etapowy proces. Opóźnienia występują wszędzie pomiędzy nimi, dodając się ostatecznie do całkowitego wyniku TTFB. Są to:

Żądanie wysłane do serwera

Gdy wpiszesz w przeglądarce adres strony WWW rozpoczyna się proces poszukiwania serwera, na którym znajduje się strona. W uproszczeniu odbywa się to poprzez odpytanie serwerów DNS o adres IP pod jakim dostępna jest witryna. Im większa odległość geograficzna pomiędzy Tobą, a serwerem DNS domeny, tym czas znalezienia adresu IP trwa dłużej. Zajrzyj do artykułu na temat DNS Anycast, gdzie mowa o tym w jaki sposób zoptymalizować ten obszar.

Przetwarzanie po stronie serwera

Gdy adres IP zostanie znaleziony, konkretny serwer otrzymuje żądanie przesłania strony do wyświetlenia w przeglądarce. Zanim to jednak nastąpi serwer musi wykonać ogromną ilość zadań. Jeśli nie stosujesz mechanizmów cache, jeśli Twój WordPress ma kiepski motyw i/lub nadmiar wtyczek, które spowalniają jego działanie. Są zapytania do baz danych, które długo się wykonują, dyski są niewydolne lub zaczyna brakować pamięci operacyjnej, albo procesor nie może złapać tchu… uffff… czas reakcji będzie również odpowiednio dłuższy.

Przesłanie danych do przeglądarki

Gdy serwer upora się ze swoim zadaniem, musi odesłać dane z powrotem do Twojej przeglądarki (pierwszy bajt). Ma na to duży wpływ zarówno prędkość sieciowa serwera jak i Twojego łącza. Jeśli masz wolny Internet np. po słabym Wi-Fi lub w sieci komórkowej, gdzie prędkości skaczą jak chcą, będzie to miało odzwierciedlenie na wyniku TTFB.

Czy TTFB jest ważne?

Trzeba zrozumieć, że TTFB nie jest tym samym, co prędkość strony. W sieci toczy się wiele dyskusji na temat tego, czy TTFB jest ważne, czy nie. Niektórzy twierdzą, że jest to bez znaczenia (np. Cloudflare), a inni jak Ilya Grigorik, inżynier zajmujący się wydajnością w Google, że jest ważne.

Moz przeprowadził badanie korelacji pomiędzy rankingami w wynikach wyszukiwania, a czasem TTFB. Trudno jednak stwierdzić, jednoznacznie czy TTFB ma wpływ na wyniki w Google, chociażby z tego względu, że strony ze słabym TTFB mogą mieć lepszą ogólną wydajność (szybkość), co jest czynnikiem rankingowym. Czy TTFB ma więc znaczenie czy nie? Nie mam odpowiedzi.

Ale zamiast spędzać czas na zastanawianiu się, czy ma znaczenie, czy nie, skupmy się na optymalizacjach.

Google PageSpeed Insights zaleca dążyć do czasu odpowiedzi serwera poniżej 200 ms. Zakres od 300 do 500 ms, to standardowe, względnie akceptowalne czasy, ale jeśli Twoja strona przekroczy 600 ms warto zastanowić się co jest tego przyczyną i postarać się skrócić ten czas na tyle na ile to możliwe.

Skąd mam wiedzieć jaki jest czas TTFB mojej strony

TTFB jest zmienny. Mają na niego wpływ rozmaite czynniki sieciowe pomiędzy Tobą, a serwerem a także chwilowe skoki obciążenia na serwerach. W jednej chwili wyniki będą optymalne i komunikacja przebiegnie bez zakłóceń, by po chwili wynik się pogorszł. Dlatego zawsze wykonaj kilka testów, żeby zorientować się jakie realne czasy odpowiedzi TTFB odnotowuje Twoja strona.

Testy możesz wykonywać rozmaitymi narzędziami takimi jak GTMetrix, WebPageTest, Google Page Speed Insights, lub korzystając z narzędzi dla developerów w przeglądarkach np. Chrome. Każde z tych narzędzi pokaże Ci inne czasy 🙂 Pamiętaj jednak, że ma na nie wpływ wiele czynników w tym odległość geograficzna i sieć o czym już wspominałem.

Test TTFB na przykładzie narzędzi dla developerów w przeglądarce Chrome

Jak zredukować TTFB

Poniżej kilka wskazówek, które pomogą Ci zredukować czas TTFB

Wykorzystaj szybki Hosting WordPress

Pierwszym sposobem na zmniejszenie TTFB jest upewnienie się, że używasz szybkiego hostingu WordPress. Dobra usługa hostingowa może zredukować TTFB nawet o kilkaset procent w stosunku do innych, podobnych usług.

Pamiętaj też o lokalizacji. Jeśli celujesz w Klientów z Europy nie uruchamiaj konta hostingowego w USA, bo sprawisz, że czasy TTFB z uwagi na odległość będą niepotrzebnie wydłużone. Staraj się zlokalizować swoją usługę hostingową najbliżej swoich Klientów.

Wykorzystaj mechanizm cache

WordPress ma wiele wtyczek buforujących. Przyspieszają one w znaczący sposób czas ładowania się stron, ale także mają wyraźny wpływ na wskaźnik TTFB, ponieważ dzięki cache serwer ma mniej zadań do wykonania i szybciej może przesłać swoją odpowiedź.

Wykorzystaj sieć CDN

Kolejnym sposobem na zmniejszenie TTFB jest wykorzystanie sieci dostarczania treści (CDN). Jeśli masz stronę, która obsługuje odwiedzających w różnych częściach kontynentu lub świata, może to wyraźnie zmniejszyć TTFB. Co więcej zaawansowane usługi DNS Premium (o nich poniżej) umożliwiają korzystanie z wielu sieci CDN, które są uruchamiane z uwzględnieniem szybkości w stosunku do lokalizacji osoby trafiającej na stronę. To naprawdę coś świetnego.

Wykorzystaj usługi premium DNS

Pisałem o tym we wspomnianym już artykule na temat DNS Anycast, więc nie będę się powtarzać, ale jest coś o czym nie wspominałem

Oprócz przyspieszenia odpowiedzi DNS, usługi premium oferują znacznie więcej jak chociażby możliwość rozpoznania lokalizacji skąd pochodzi żądanie i odwołanie się na tej podstawie do odpowiednich rekordów strefy.

Żeby to lepiej zobrazować wyobraź sobie, że masz swoją stronę na dwóch serwerach (dwie kopie 1:1). Pierwsza zlokalizowana jest w Polsce (adres IP X), a druga w USA (adres IP Y).

Gdy ktoś z Polski wpisze adres Twojej strony, to DNS w odpowiedzi użyje rekord A z IP X, a więc strona załaduje się z serwera znajdującego się bliżej. Z kolei gdy ktoś inny wpisze adres strony z terenu USA, wówczas DNS zareaguje podobnie ale rozwiąże nazwę domeny na adres IP Y. Strona nie załaduje się z serwera w Europie, ale z serwera w USA! W ten sposób nie tylko TTFB znacząco spadnie, ale także ogólne wyniki jakości w tym najważniejsze wskaźniki Web Vitals będą dużo lepsze.

Na DiDHost testujemy już podobne rozwiązania dla naszych Klientów. Jeśli chcesz sprawdzić jak to działa i masz u nas hosting WordPress skontaktuj się z działem wsparcia.

Podsumowanie

Istnieje wiele innych rzeczy, które można zoptymalizować aby zmniejszyć TTFB, np. obiektowe buforowanie zapytań baz danych, wydajność dysków, pamięć operacyjna, ustawienia PHP, ustawienia serwera www, sieciowe, TLS, itp. Ale te wymienione powyżej są dość łatwe do wdrożenia i dadzą Ci zauważalny wzrost wydajności.

Udostępnij

Zobacz również

WordPress zmiana domeny

WordPress zmiana domeny

Domena, to adres Twojej strony internetowej i jednocześnie jej unikalny identyfikator, który jako ludzie jesteśmy w stanie szybko zapamiętać. Zdarza się jednak, że pierwotny wybór

DNS Anycast

DNS Anycast – co to jest?

DNS Anycast, to temat nie związany bezpośrednio z WordPressem, ale mający wpływ na to jak szybko strona może się ładować, co oznacza lepsze wyniki jakości.

Bezpłatne informacje o nowościach JZS

Zapraszam Cię do grona Subskrybentów! Tysiące Czytelników już subskrybuje wiadomości z JZS.

W każdej chwili możesz zrezygnować z subskrypcji. Twój adres jest tu bezpieczny.

Polecane Oferty LifeTime!

Play.ht lifetime
Play.ht

Przekształć swoje publikacje na stronie w nagrania audio wysokiej jakości.

PayForm oferta lifetime
PayForm

Generowanie formularzy szybkich płatności. Możesz tym narzędziem zwiększyć konwersję!

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *