Jak zmniejszyć TTFB, aby poprawić czas ładowania strony WordPress?
Opublikowany: 2017-01-26Jeś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.

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

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.

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.

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.

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

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”.


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 .

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.

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

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.

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.

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

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

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.
