Parametr TTFB to jeden z najpopularniejszych sposobów, by zmierzyć prędkość ładowania strony. Jednakże szybkość serwera zależy od wielu czynników. Co zatem ma wpływ na wynik TTFB i czy jego wartość jest wystarczającą miarą szybkości serwera?
Czym jest TTFB?
TTFB, czyli Time to first bite, to czas, jaki potrzebuje przeglądarka, aby uzyskać pierwsze dane z serwera i połączyć się ze stroną internetową (pierwsze dane, czyli właśnie first bite – pierwszy bajt). W odpowiedzi wyświetla się strona, którą użytkownik wybrał stosując adres url. Parametr TTFB mierzony jest od momentu wysłania zapytania do chwili otrzymania pierwszego bajtu danych. Podawany jest w milisekundach, a optymalny wynik dla stron bogatych w treści mieści się w przedziale 200-500 ms.
TTFB nie uwzględnia jednak wielu parametrów, które składają się na odpowiedź serwera, dlatego nie da jednoznacznej odpowiedzi o jego szybkości.
Od czego zależy szybkość serwera?
TTFB zależy od czasu potrzebnego na:
- wysłanie żądania do sieci przez serwer,
- przetworzenie tego żądania i przygotowanie odpowiedzi,
- wysłanie tej odpowiedzi.
Zanim serwer odpowie, następują po sobie:
- połączenie z serwerami DNS,
- połączenie TCP/IP,
- połączenie (jeśli dana witryna wymaga) z certyfikatem SSL,
- wysyłanie zapytania i czekanie na odpowiedź,
- odbiór i wyświetlenie strony internetowej.
TTFB mierzy ostatni punkt w całym procesie, co oznacza, że szybkości serwera nie określimy tylko na podstawie wyniku TTFB. Szybkość otrzymania pierwszego bajtu, a szybkość uzyskania całej zawartości strony, są dwoma, niekoniecznie ze sobą związanymi wartościami.
Szybkość ładowania się strony jest zależna od:
- serwera hostującego (niezawodność),
- łącza internetowego użytkownika (sprawność)
- treści na stronie (objętość).
Zatem jeśli np. strona jest źle zoptymalizowana, to przetworzenie danych czy odpowiedź na skomplikowane zapytanie mogą wydłużyć czas oczekiwania na pierwszy bajt. Powodem niezadowalającego wyniku mogą być:
- źle zaprojektowana i niezopytmalizowana aplikacja/strona,
- zbyt skomplikowane zapytania do bazy danych,
- zasobożerne frameworki i biblioteki,
- zasoby procesora i pamięci.
Użyteczność TTFB
Biorąc pod uwagę wymienione czynniki, np. czas odpowiedzi serwera DNS, okazuje się, że TTFB nie jest wystarczającą miarą wydajności serwera. TTFB to właściwie sposób na mierzenie wydajności samej strony www. Dla użytkownika najważniejszy jest czas załadowania się całej witryny, zatem optymalizacja pod kątem otrzymania pierwszego bajtu, niekoniecznie wpłynie na usprawnienie wydajności strony. Posłużą do tego metody testowania aplikacji, dzięki którym podejmie się optymalizacji kodu, objętości treści czy zapytań SQL.