TTFB to czas do pierwszego bajtu odpowiedzi serwera - dobry wynik to do 0,8 s. Jak zmierzyć TTFB, skąd się bierze wolny serwer i jak skrócić czas odpowiedzi.
Autor: McProdukt · Opublikowano: · Aktualizacja:
TTFB (Time to First Byte) to czas od wysłania żądania przez przeglądarkę do otrzymania pierwszego bajtu odpowiedzi serwera. Dobry wynik według web.dev to 0,8 sekundy lub mniej, a powyżej 1,8 sekundy - słaby. Typowe przyczyny wysokiego TTFB to brak cache strony, ciężkie wtyczki, wolna baza danych, stara wersja PHP i przeciążony serwer. Poniżej wyjaśniamy, z czego składa się TTFB, jak go zmierzyć i jak go skrócić.
TTFB mierzy, jak długo przeglądarka czeka, zanim serwer zacznie wysyłać stronę. Według web.dev to suma kilku etapów żądania:
Ostatni etap zależy głównie od hostingu i samej strony, poprzednie - także od odległości od serwera, DNS i konfiguracji adresów. TTFB nie należy do Core Web Vitals, ale poprzedza wskaźniki FCP i LCP: dopóki serwer nie odpowie, przeglądarka nie wyświetli treści. Jak poprawić same wskaźniki, opisujemy w poradniku Core Web Vitals: LCP, INP i CLS.
| TTFB | Ocena według web.dev | Co zrobić |
|---|---|---|
| do 0,8 s | dobry | nic pilnego - pilnuj, żeby tak zostało po zmianach na stronie |
| 0,8-1,8 s | wymaga poprawy | sprawdź cache strony, wtyczki i wersję PHP |
| powyżej 1,8 s | słaby | szukaj przyczyny w tabeli poniżej; jeśli strona jest zoptymalizowana, problemem może być serwer |
Próg 0,8 s dotyczy całego TTFB, razem z DNS i przekierowaniami. Lighthouse, którego wyniki widzisz w PageSpeed Insights, ma ostrzejsze kryterium dla samego serwera: zgłasza problem, gdy odpowiedź na żądanie dokumentu trwa dłużej niż 600 ms. Oba progi nie są sprzeczne - 600 ms dotyczy tylko czasu odpowiedzi serwera, bez DNS i przekierowań.
Mierz kilka razy i o różnych porach. Pierwsze wejście po zmianach na stronie bywa wolniejsze, bo cache jest pusty. Na serwerze LiteSpeed sprawdzisz to w nagłówkach odpowiedzi (DevTools, zakładka Headers): X-LiteSpeed-Cache: miss oznacza, że strony nie było w cache i właśnie została zapisana, a X-LiteSpeed-Cache: hit - że przyszła z cache. Jeśli na stronie z wtyczką LiteSpeed Cache nie widzisz żadnego z tych nagłówków, cache jest źle skonfigurowany.
Wysoki TTFB może wynikać zarówno ze strony, jak i z serwera. Tabela pomoże ustalić, z czym masz do czynienia:
| Przyczyna | Jak rozpoznać | Co zrobić |
|---|---|---|
| Brak cache strony | każde wejście jest tak samo wolne, brak nagłówka X-LiteSpeed-Cache: hit | włącz cache strony (na serwerze LiteSpeed - wtyczką LiteSpeed Cache) |
| Ciężkie wtyczki lub motyw | wolny jest też panel WordPressa; TTFB spada po wyłączeniu wtyczki na kopii testowej | usuń zbędne wtyczki, najcięższe zamień na lżejsze |
| Wolna baza danych | wolne są głównie strony dynamiczne: wyszukiwarka, koszyk, filtry | cache obiektowy (Redis), porządek w bazie |
| Stara wersja PHP | panel hostingu pokazuje wersję, która nie ma już wsparcia | przejdź na nowszą, wspieraną wersję po teście na kopii strony |
| Przeciążony serwer lub limity konta | TTFB mocno waha się w ciągu dnia, pojawiają się błędy 503 lub 508 | zapytaj dostawcę o zużycie zasobów, rozważ większy pakiet lub zmianę hostingu |
| Daleki serwer bez CDN | długie czasy połączenia i TLS, wolniej u odwiedzających z innych krajów | serwer bliżej klientów albo CDN |
| Łańcuch przekierowań | test pokazuje kilka przekierowań przed stroną docelową | linkuj do adresu docelowego, zostaw jedno przekierowanie |
Dwa z tych punktów wprost potwierdza web.dev: wydajność WordPressa zależy od liczby i jakości wtyczek oraz od motywu, a kolejne wersje języków programowania i baz danych z czasem działają wydajniej - dlatego liczy się, czy hosting aktualizuje oprogramowanie serwera.
Po stronie serwera liczą się szybkie dyski, serwer WWW z cache strony i aktualne wersje PHP. Na hostingu McProdukt strony działają na dyskach NVMe i serwerze LiteSpeed (OpenLiteSpeed) z LSCache, a do cache obiektowego dostępny jest Redis. Wersję PHP ustawiasz osobno dla każdej domeny - do wyboru są 5.6, 7.2, 7.3, 7.4 oraz 8.1-8.5.
Jeśli prowadzisz stronę na WordPressie, zobacz hosting WordPress. Każdy pakiet możesz przez 14 dni przetestować za darmo i zmierzyć TTFB na kopii własnej strony, zanim przeniesiesz domenę.
TTFB (Time to First Byte) to czas od wysłania żądania do otrzymania pierwszego bajtu odpowiedzi serwera. Obejmuje przekierowania, DNS, połączenie z TLS i czas, w którym serwer przygotowuje stronę.
Według web.dev dobry TTFB to 0,8 sekundy lub mniej. Wynik od 0,8 do 1,8 sekundy wymaga poprawy, a powyżej 1,8 sekundy jest słaby.
Nie, TTFB jest metryką pomocniczą. Ponieważ poprzedza wyświetlenie treści (FCP i LCP), wolny serwer utrudnia jednak uzyskanie dobrych wyników w tych wskaźnikach.
Na wynik wpływa to, czy strona była w cache, chwilowe obciążenie serwera, odległość od miejsca pomiaru i szybkość DNS. Dlatego mierz kilka razy, o różnych porach, i porównuj średnie, a nie pojedyncze wyniki.
Nie zawsze. CDN skraca drogę do odwiedzających, ale jeśli strony nie ma w cache CDN, żądanie i tak trafia do Twojego serwera. Najpierw włącz cache strony na serwerze, potem rozważ CDN.
Wszystkie poradniki z kategorii: Szybkość i wydajność