Jak zmniejszyć TTFB, aby poprawić czas ładowania strony WordPress?

Opublikowany: 2017-01-26

Jeśli chodzi o ogólną szybkość witryny WordPress, często skupiamy się na wydajności front-endu i optymalizacjach, aby poprawić szybkość ładowania strony. Czasami jednak dobrze jest spojrzeć na to od strony serwera, od którego pierwotnie zaczyna się ładować Twoja strona. Dzisiaj zagłębimy się w to, w jaki sposób TTFB (czas do pierwszego bajtu) wpływa na ciebie i omówimy kilka prostych sposobów jego zmniejszenia. TTFB jest często pomijanym czynnikiem wydajności, ale należy wziąć to pod uwagę podczas testowania szybkości witryny.

  • Co to jest TTFB?
  • Czy TTFB jest ważne?
  • Jak zmierzyć TTFB
  • 4 sposoby na zmniejszenie TTFB w witrynie WordPress

Co to jest TTFB?

TTFB oznacza czas do pierwszego bajtu . Mówiąc prościej, jest to miara tego, jak długo przeglądarka musi czekać, zanim otrzyma pierwszy bajt danych z serwera. Im dłużej trwa pobranie tych danych, tym dłużej trwa wyświetlenie Twojej strony. Powszechnym błędnym przekonaniem jest to, że jest to obliczane po czasach wyszukiwania DNS, jednak oryginalne obliczenie TTFB w sieci zawsze uwzględnia opóźnienie sieci . Obejmuje to 3-etapowy proces, a opóźnienia i opóźnienia mogą wystąpić w dowolnym miejscu, sumując się do całkowitego TTFB.

czekam ttfb
Czekam TTFB

1. Żądanie do serwera

Kiedy ktoś odwiedza Twoją witrynę, pierwszą rzeczą, która się dzieje, jest wysyłanie żądania HTTP od klienta (przeglądarki) do serwera. Na tym etapie istnieje wiele czynników, które mogą powodować opóźnienia. Długie czasy wyszukiwania DNS mogą przyczynić się do wydłużenia czasu realizacji żądania. Jeśli serwer znajduje się geograficznie daleko, może to spowodować opóźnienie w odległości, jaką muszą pokonać dane. Ponadto, jeśli masz złożone reguły zapory, może to wydłużyć czas routingu. I nie zapomnij o szybkości Internetu klienta.

2. Przetwarzanie serwera

Po wysłaniu żądania serwer musi je przetworzyć i wygenerować odpowiedź. Może to spowodować wiele różnych opóźnień, takich jak powolne wywołania bazy danych , zbyt wiele skryptów innych firm, brak buforowania pierwszej odpowiedzi, źle zoptymalizowany kod lub motyw WordPress oraz niewydajne zasoby serwera, takie jak dyskowe operacje we/wy lub pamięć.

3. Odpowiedź dla Klienta

Po tym, jak serwer przetworzy żądanie, musi je odesłać do klienta (a raczej odesłać pierwszy bajt). Duży wpływ na to ma zarówno szybkość sieci serwera, jak i klienta . Jeśli klient ma wolny internet z hotspotu Wi-Fi, będzie to odzwierciedlone w TTFB.

Czy TTFB jest ważne?

Ważne jest, aby zrozumieć, że TTFB (czas do pierwszego bajtu) to nie to samo co prędkość witryny. To naprawdę jest miara szybkości reakcji. W sieci toczy się wiele dyskusji na temat tego, czy TTFB jest ważne. Niektórzy twierdzą, że jest to bez znaczenia (Cloudflare, LittleBizzy), a inni twierdzą, że jest ważne (Ilya Grigorik, inżynier wydajności sieci w Google). Obie strony podnoszą kilka ważnych kwestii, dlaczego lub dlaczego nie jest to ważne, a także kilka pytań o to, jak faktycznie jest obliczane.

Moz przeprowadził nawet dogłębne badanie korelacji między rankingami wyszukiwania a czasem do pierwszego bajtu. Trudno jednak stwierdzić, czy to była przyczyna, czy też witryny z niższym TTFB były po prostu ogólnie szybsze, na co z kolei mógł mieć wpływ współczynnik szybkości strony Google w rankingu.

Czy TTFB ma znaczenie? Przyczynia się to do ogólnej szybkości, więc co o tym myślisz? Kliknij, aby tweetować

Jednak zamiast marnować czas na zastanawianie się, czy ma to znaczenie, czy nie, wolimy skupić się na optymalizacjach, które możesz zrobić, aby poprawić ten wskaźnik. Wszystko, co robisz, może przyczynić się do ogólnej szybkości witryny WordPress, a to z kolei wpłynie na TTFB. W naszych testach strony ze znacznie większym TTFB po prostu ładują się i działają wolniej.

Ogólnie wszystko poniżej 100 ms jest świetne i dobre TTFB . Google PageSpeed ​​Insights zaleca czas odpowiedzi serwera poniżej 200 ms. Jeśli jesteś w zakresie 300-500 ms, jest to dość standardowe. A jeśli masz ponad 600 ms, możesz mieć coś źle skonfigurowanego na swoim serwerze lub być może nadszedł czas, aby przejść na lepszy stos sieciowy. Lub postępuj zgodnie z naszymi zaleceniami poniżej, jak zmniejszyć TTFB. I pamiętaj, że negocjacja SSL/TLS również może być czynnikiem.

Jak zmierzyć TTFB

Istnieje wiele różnych sposobów testowania TTFB. Zbadamy kilka poniżej. Pamiętaj jednak, że każde narzędzie daje nieco inne wyniki, dlatego ważne jest, aby po prostu użyć jednego i trzymać się go jako linii bazowej.

Mierz TTFB za pomocą Google Chrome DevTools

Możesz zmierzyć TTFB w Google Chrome, uruchamiając DevTools. Pamiętaj jednak, że jeśli testujesz ze swojego komputera, na TTFB wpływa opóźnienie sieci i połączenie internetowe. Dlatego prawdopodobnie bardziej efektywne jest użycie narzędzia innej firmy (jak widać poniżej), które jest testowane z centrum danych.

  • Wybierz Więcej narzędzi > Narzędzia programistyczne z menu Chrome.
  • Kliknij prawym przyciskiem myszy element strony i wybierz Sprawdź
  • Użyj skrótów klawiaturowych Ctrl + Shift + I (Windows) lub Cmd + Opt + I (Mac)

Możesz uruchomić okno sieciowe i zobaczyć wydajność swojej witryny.

google chrome devtools ttfb
Narzędzia programistyczne Google Chrome TTFB

Zmierz TTFB za pomocą narzędzia Geekflare

Geekflare ma niesamowitą kolekcję bezpłatnych narzędzi, których możesz użyć do testowania i rozwiązywania problemów w swojej witrynie. Narzędzie TTFB Geekflare jest proste, szybkie i pozwala zobaczyć, jak szybki (niski) jest Twój czas do pierwszego bajtu z trzech lokalizacji na całym świecie.

Narzędzie testowe Geekflare TTFB
Narzędzie testowe Geekflare TTFB

Zmierz TTFB za pomocą WebPageTest

Możesz również zmierzyć TTFB za pomocą WebPageTest. Zgodnie z ich słownikiem, czas docelowy to czas potrzebny na negocjacje DNS, gniazd i SSL + 100ms. Ocena pojedynczej litery będzie odejmowana za każde 100 ms poza cel. Jak widać w naszym teście poniżej, ta strona mierzyła przy 0,256 s lub 256 ms TTFB.

test strony internetowej ttfb
Czas pierwszego bajtu testu strony internetowej

Zmierz TTFB za pomocą Pingdom

Chrome i WebPageTest nazywają go TTFB. Jeśli jednak korzystasz z Pingdom, jest to w rzeczywistości określane jako czas oczekiwania. Koniecznie zapoznaj się również z naszym szczegółowym przewodnikiem na temat korzystania z Pingdom.

Czas oczekiwania pingdom
Czas oczekiwania w narzędziach Pingdom

Zmierz TTFB za pomocą GTmetrix

W GTmetrix, podobnie jak w Pingdom, TTFB jest określane jako czas oczekiwania. Koniecznie zapoznaj się również z naszym szczegółowym przewodnikiem na temat korzystania z GTmetrix.

Zmierz TTFB w GTmetrix
Zmierz TTFB w GTmetrix

Zmierz TTFB za pomocą narzędzia z KeyCDN

KeyCDN ma świetne narzędzie do testowania wydajności sieci, w którym możesz mierzyć TTFB z 14 różnych lokalizacji jednocześnie. Jak widać poniżej w naszym teście, TTFB jest niski w Stanach Zjednoczonych i znacznie wyższy za granicą. Dzieje się tak, ponieważ nasz serwer fizycznie znajduje się w Stanach Zjednoczonych. Jest to dowód na to, że opóźnienie i odległość wpływają na TTFB.

test keycdn ttfb
Test KeyCDN TTFB

Istnieją również inne różne narzędzia do pomiaru TTFB, takie jak Sucuri Performance Tool i ByteCheck. Czy wiedziałeś? Nawet Google Analytics ma sekcję, aby zobaczyć średni czas odpowiedzi. Po prostu kliknij „Zachowanie > Szybkość witryny > Przegląd”.

Google Analytics ttfb
Raport Google Analytics dla TTFB

4 sposoby na zmniejszenie TTFB w witrynie WordPress

Teraz przyjrzyjmy się kilku sposobom zmniejszenia TTFB w witrynie WordPress.

1. Skorzystaj z szybkiego hosta WordPress

Pierwszym sposobem na zmniejszenie TTFB jest upewnienie się, że korzystasz z szybkiego hosta WordPress. Porównaliśmy TTFB współdzielonego hosta innej firmy (zlokalizowany w Phoenix, AZ) i TTFB Kinsta (zlokalizowany w Council Bluffs, Iowa). Wykorzystaliśmy dokładnie tę samą konfigurację z uruchomionym domyślnym motywem Twenty Seventeen. Pamiętaj, że Kinsta ma teraz wszystkie 29 dostępnych lokalizacji Google Cloud Platform, dlatego ważne jest, aby strategicznie umieścić swoją witrynę WordPress bliżej odwiedzających.

Przejście na szybszy host może zmniejszyć TTFB Twojej witryny nawet o 200%. Wypróbuj Kinsta za darmo.

Kinsta obejmuje również sieć warstwy premium Google Cloud Platform we wszystkich planach hostingowych. Wielu innych dostawców usług hostingowych korzysta ze standardowej sieci warstwy Google Cloud, co skutkuje wolniejszymi prędkościami.

Współdzielony host TTFB

We wszystkich regionach średni TTFB wyniósł 520 ms . W Stanach Zjednoczonych i Kanadzie średni TTFB wyniósł 240 ms .

hosting współdzielony ttfb
Hosting współdzielony TTFB

Kinsta TTFB

We wszystkich regionach średni TTFB wyniósł 412 ms . W Stanach Zjednoczonych i Kanadzie średni TTFB wyniósł 164 ms . Jeśli hostujesz w Kinsta, możesz także hostować swoją witrynę WordPress w Europie lub Azji. Zobacz listę lokalizacji Google Cloud Data Center.

zarządzany host wordpress ttfb
Zarządzany hosting WordPress TTFB

Tak więc po prostu używając szybszego hosta, zaobserwowaliśmy globalny spadek TTFB o 20% . I 32% spadek TTFB w Stanach Zjednoczonych i Kanadzie. Posiadanie dobrego hosta WordPress ze starannie przemyślaną architekturą ma kluczowe znaczenie dla obniżenia TTFB. Jest to również dobry argument za ostrożnym wyborem miejsca fizycznie zlokalizowanego w regionie, w którym przebywają Twoi klienci. Jeśli większość Twoich klientów znajduje się w Stanach Zjednoczonych, nie hostuj swojego serwera w Europie (chociaż CDN może pomóc w zanegowaniu niektórych z nich).

2. Zaimplementuj CDN

Innym prostym sposobem na zmniejszenie TTFB jest wykorzystanie sieci dostarczania treści (CDN). Jeśli masz witrynę, która obsługuje odwiedzających w różnych częściach kraju lub na całym świecie, może to drastycznie zmniejszyć TTFB. Jak widzieliśmy powyżej, bardzo ważna jest lokalizacja. Przeprowadziliśmy mały test, aby pokazać różnicę z KeyCDN jako naszym dostawcą CDN. Każdy test wykonywano 5 razy i brano pod uwagę średnią.

TTFB bez CDN

Najpierw przeprowadziliśmy test z wyłączonym CDN i jak widać, nasz całkowity czas ładowania wyniósł 1,45 s, a nasz średni TTFB dla zasobu wynosił około 136 ms.

ttfb przed cdn
TTFB przed dodaniem CDN

TTFB z CDN

Następnie włączyliśmy naszą sieć CDN i ponownie przeprowadziliśmy test. Jak widać, nasze całkowite czasy ładowania spadły do ​​788 ms, a nasz średni TTFB wynosi teraz 37 ms! Jaką różnicę może zrobić CDN. Kolejną ważną rzeczą, na którą należy zwrócić uwagę, jest to, że do przeprowadzenia tego testu wybraliśmy lokalizację w Sztokholmie. Czemu? Ponieważ chcieliśmy pokazać prawdziwą poprawę, jaką można osiągnąć, zmniejszając dystans fizyczny. W Sztokholmie znajduje się CDN POP, więc nasze treści są obsługiwane ze Sztokholmu.

ttfb po cdn
TTFB po dodaniu CDN

Uwaga: jeśli używasz Cloudflare, możesz mieć nieco wyższy TTFB. Jest to najprawdopodobniej spowodowane dodatkowym obciążeniem i złożonością działania pełnej usługi proxy. Pamiętaj, że Cloudflare ma dodatkowe zapory i inne funkcje, których nie mają niektórzy dostawcy CDN. Więc musiałbyś podjąć decyzję, co może przynieść ci więcej korzyści. Jeśli cała Twoja witryna nie jest odpowiednio zoptymalizowana, skorzystanie z nieco wyższego TTFB może być warte kompromisu.

Możesz jednak również zapoznać się z przewodnikiem WP Bullet dotyczącym korzystania z pamięci podręcznej strony Cloudflare w celu obniżenia TTFB. Może to wymagać dodatkowej konfiguracji i testowania. Upewnij się, że uruchamiasz własne testy, ponieważ każde środowisko jest inne.

Sugerowana lektura: Jak skonfigurować Cloudflare APO dla WordPress.

3. Buforowanie WordPress

Trzecim sposobem i prawdopodobnie jednym z najłatwiejszych sposobów zmniejszenia TTFB jest wykorzystanie pamięci podręcznej w witrynie WordPress. Wielu myśli tylko, że buforowanie może pomóc skrócić czas ładowania, ale w rzeczywistości pomaga również zmniejszyć TTFB, ponieważ pomaga skrócić czas przetwarzania serwera. Ponownie przeprowadziliśmy kilka testów z uruchomionym buforowaniem i bez niego. Każdy test wykonywano 5 razy i brano pod uwagę średnią.

Bez uruchomionej pamięci podręcznej

Uruchomiliśmy witrynę przez Pingdom i bez uruchomionej pamięci podręcznej, nasza witryna uzyskała czas ładowania 1,17 s i 560 ms TTFB.

niebuforowany ttfb
TTFB bez pamięci podręcznej

Z włączonym buforowaniem

Następnie włączyliśmy buforowanie i ponownie uruchomiliśmy witrynę przez Pingdom. Tym razem nasza strona uzyskała czas ładowania 643 ms i 57 ms TTFB.

buforowanie wordpress ttfb
TTFB z włączonym buforowaniem WordPress

Włączając buforowanie, byliśmy w stanie zredukować nasz TTFB aż o 90%! Możesz przeczytać więcej o buforowaniu Kinsta. Robimy to na poziomie serwera, co oznacza, że ​​nie są wymagane żadne wtyczki do buforowania. Jeśli nie korzystasz z zarządzanego hosta WordPress, zalecamy skorzystanie z bezpłatnej wtyczki buforowania, takiej jak Cache Enabler.

4. Użyj dostawcy DNS Premium

I wreszcie, DNS również odgrywa rolę w TTFB. Trudno dokładnie obliczyć, jak bardzo to dotyczy, ale nadal możesz zobaczyć ogólne czasy wyszukiwania DNS i zobaczyć, że istnieją szybsi i wolniejsi dostawcy. Przeprowadziliśmy kilka testów za pomocą narzędzia do testowania prędkości SolveDNS. Oto przykład domeny korzystającej z bezpłatnego DNS NameCheap i czasów odpowiedzi.

Darmowe NameTanie DNS

darmowa prędkość dns
Bezpłatna prędkość DNS

A poniżej znajduje się przykład użycia premium DNS Amazon Route 53. Jak widać ogólnie, czasy wyszukiwania DNS są znacznie szybsze w przypadku Amazon. Zazwyczaj dostawcy DNS premium będą mieli lepsze prędkości. Cloudflare to darmowy, który ma również świetną wydajność.

Amazon Route 53 DNS

amazon premium dns
Amazon premium prędkość DNS

Sprawdź nasz post, dlaczego powinieneś korzystać z dostawcy DNS premium. Nawiązaliśmy współpracę z Amazon Route 53 tutaj w Kinsta i jest ona dostępna bezpłatnie dla wszystkich klientów.

Streszczenie

Istnieje wiele innych rzeczy, które można zoptymalizować lub naprawić, aby zmniejszyć TTFB, takich jak buforowanie bazy danych, we/wy dysku, użycie wymiany, pamięć RAM, ustawienia PHP, ustawienia MySQL, ustawienia sieciowe, obciążenie TLS itp. Ale te wymienione powyżej są dość łatwy do wdrożenia i zapewni najszybszy wzrost wydajności. Więc następnym razem, gdy ktoś zapyta Cię, jak zmniejszyć TTFB, pamiętaj, że szybki host WordPress, CDN, buforowanie i DNS odgrywają ogromną rolę. Naprawienie lub poprawienie tych wąskich gardeł załatwi sprawę.

Jakie masz doświadczenia z TTFB? Chcielibyśmy o tym usłyszeć poniżej.