Jak sprawdzić czas odpowiedzi serwera (TTFB)

Gwoli przypomnienia Time To First Byte mówi nam kiedy serwer zaczyna wysyłać odpowiedź na nasze żądanie np. wyświetlenia dynamicznej strony www. Czas ten jest również mierzalny dla elementów statycznych jak grafiki czy pliki css.

Czas TTFB lepiej żeby był jak najkrótszy.

Pomiar TTFB musi być dokonany wielokrotnie i najlepiej z różnych lokalizacji aby bazować na jego wynikach. Pojedynczy pomiar w jednej lokalizacji jest tylko sygnałem aktualnego stanu serwera i łacza. W praktyce nie mówi nic, bo sieć ciągle pracuje i jest zmienna. Przy jednym pomiarze zaobserwowany problem może być przejściowy albo związany z dana lokalizacją, niestety jeśli wynik jednego pomiaru jest świetny to też może być zakłamanie danej chwili. Przed podjęciem działań warto zebrać większe dane, czyli wykonać wiele pomiarów lokalnych w różnych godzinach i podeprzeć się np. zdalnym Performance Test

Przyjmuje się że czas TTFB poniżej 100ms są super, czasy 200-500ms to standard, czasy w przedziale 500-1000ms to znak że coś jest nie halo i warto podjąć działania. Wielokrotnie wykazywane czasy powyżej 1 sekundy czyli ponad 1000 milisekund mówią że jest źle i że serwis wymaga zdecydowanej rekacji.

TTFB jest wypadkową tego co serwer musi zrobić żeby zacząć odpowiadać i jaka jego „moc skuteczna” jest nam przydzielona. Niestety pomiar ten nie daje jednoznacznej informacji czy problem jest w serwerze czy w naszym WordPressie 🙁

To jest bardzo istotny wskaźnik bo pokazuje czas stracony na wykonanie pliku głównego z którego dopiero są wywoływane kolejne pliki tworzące stronę a które są już pobierane równolegle w tym samym czasie. Czyli oczekując na ten jeden plik mamy zablokowane ładowanie wszystkich kolejnych plików 🙁 Jest to szczególnie bolesne kiedy używamy protokołu HTTP2

Czas odpowiedzi serwera się wydłuża zwłaszcza

  • jeżeli serwer jest zbyt obciążony (np. hosting prowadzi overseling)
  • jeżeli serwer oferuje za mało zasobów (np. kupiliśmy za niski pakiet)
  • jeśli kod generujący naszą stronę jest marny (np. zbyt skomplikowany nieoptymalny kod, zbyt wiele zapytań do bazy danych,…)
  • jeżeli są problemy z bazą danych (np. brak indeksów, zbyt przerośnięta,…).

Warto jednak zwrócić uwagę że czasem (choć rzadko) wydłużenie czasu TTFB nie jest takie straszne, bo dłuższe czekanie na jedną stronę może być sumarycznie bardziej opłacalne dla użytkownika niż kilka szybszych odwołań które trzeba zsumować.

Narzędzia do testowania TTFB

Narzędzia online

Generalnie chyba wszystkie popularne narzędzia online analizujące jakość strony pokazują czas pierwszej odpowiedzi serwera. Na pewno pokazują GTmetrix, PageSpeed Insights, keycdn Tools, WebPageTest.

Skoro jednak mówimy o internetach to oczywiście istnieje dedykowana strona mierząca TTFB. Przykładowa nazywa się Byte Check (link w przydatnych) i generuje wyniki w postaci widocznej poniżej. Jak widać pomiar jest przedstawiany w prosty sposób i od ręki widać marny wynik 1* na czerwonym tle bo czas ponad 1000 milisekund faktycznie nie zachwyca. Na tej stronie im więcej gwiazdek tym lepiej.

Wyniki pomiaru TTFB za pomocą narzędzia Byte Check

Narzędzia w przeglądarkach

Wszystkie rozsądne przeglądarki mają narzędzia developerskie w których jest pokazany wskaźnik TTFB choć pod różnymi nazwami. Cechą takiego rozwiązania (pomiar TTFB w przeglądarce internetowej) jest to że mierzysz czas bezpośrednio ze swojego komputera w swojej sieci, to może mieć przełożenie na wyniki pomiaru.

Firefox

  1. W oknie przeglądarki na badanej stronie wciskamy F12
  2. w nowym oknie z narzędziami które się pojawiło wybieramy w górnym poziomym menu „Sieć”.
  3. Wciskamy F5 żeby odświeżyć badaną stronę
  4. w oknie z narzędziami które się pojawiło wybieramy po lewej stronie pierwszą linię (zawiera badany adres) a po prawej stronie wybieramy zakładkę „Pomiary czasu”
  5. zakładce „Pomiary czasu ” TTFB jest nazwane „Oczekiwanie:”
Pomiar TTFB pokazany w dev tools Firefox

Chrome

  1. W oknie przeglądarki na badanej stronie wciskamy F12
  2. w nowym oknie z narzędziami które się pojawiło wciskamy Ctrl + R żeby odświeżyć badaną stronę.
  3. w oknie z narzędziami klikamy w prawej kolumnie pierwszą linię (zawiera badany adres)
  4. pojawi się po prawej stronie dodatkowa kolumna gdzie wybieramy zakładkę Timinig
  5. wskażnik TTFB jest nazwany „Waiting (TTFB)”
Pomiar TTFB pokazany w dev tools Chrome

Edge

  1. W oknie przeglądarki na badanej stronie wciskamy F12
  2. w nowym oknie z narzędziami które się pojawiło wybieramy w górnym poziomym menu „Sieć”.
  3. W oknie przeglądarki na badanej stronie wciskamy odśwież
  4. w oknie z narzędziami które się pojawiło wybieramy po lewej stronie pierwszą linię (zawiera badany adres) a po prawej stronie wybieramy zakładkę Chronometraże
  5. w zakładce Chronometraże TTFB jest nazwane „Oczekiwanie (czas do publikacji pierwszego bajtu):”
Pomiar TTFB pokazany w dev tools Edge

Przydatne:

Wątek w QA: TTFB (czas odpowiedzi serwera) czym jest, jak sprawdzić


Post o TTFB opisuje co pokazuje nam ten parametr i gdzie możemy zobaczyć jaki czas opóźnienia ma nasz serwer z WordPressem. Click To Tweet