Czy „Time to first byte” (TTFB) oznacza szybkość serwera ?

Time to first byte (TTFB) jest wartością podawaną w mikrosekundach mierzoną od momentu wysłania zapytania, do chwili otrzymania przez użytkownika pierwszego bajtu danych wysłanych przez serwer. Parametr ten jest niestety jednym z popularniejszych sposobów mierzenia prędkości ładowania się strony. Dlaczego niestety?

Czym miał być parametr TTFB ?

Z założenia metody testowania szybkości mają pomóc w zlokalizowaniu i usprawnieniu wąskiego gardła, które wydłuża czas oczekiwania na usługę. TTFB jest jedynie surową zmienną, sumą wielu innych zmiennych. Nie uwzględnia wielu istotnych parametrów oraz nie pozwala określić, które dokładnie składowe przekładają się na podwyższenie ostatecznego wyniku.

Co mówią testery o TTFB ?

Niektóre testy (np. Google Page Speed Insight) podają informację, żeby „skrócić czas odpowiedzi serwera”. Jest to dosyć myląca informacja, sugerująca, że problem leży po stronie maszyny hostingowej. Po dokładniejszej analizie można zauważyć, że na odpowiedź serwera składają się między innymi wykonanie skryptu PHP oraz zapytania do bazy danych. W przypadku źle zoptymalizowanej strony przetworzenie skryptu lub wykonanie skomplikowanego zapytania do bazy danych może nawet kilkukrotnie wydłużyć czas oczekiwania na pierwszy bajt – w końcu dane muszą się przetworzyć po stronie serwera przed wysłaniem.

Jak się ma TTFB do szybkości pobrania strony ?

Warto też zaznaczyć, że szybkość otrzymania pierwszego bajtu, a całej zawartości strony to dwie, niekonieczne związane ze sobą wartości. W teście przeprowadzonym przez Cloudflare (całość testu można obejrzeć tutaj: https://blog.cloudflare.com/ttfb-time-to-first-byte-considered-meaningles/) skompresowana strona pobrała się 5 razy szybciej, pomimo tego, że przesłanie jej pierwszego bajtu trwało 8 razy dłużej niż gdy treść była nieskompresowana.

Dodatkowe parametry mające wpływ na TTFB

Podczas wykonywania testu za pomocą jednej ze stron dostępnych w internecie otrzymujemy wartość TTFB zmierzoną pomiędzy serwerem tej strony testującej, a serwerem, na którym zlokalizowana jest strona poddawana testowi. Większość serwerów oferujących testy TTFB znajduje się poza granicami Polski czy nawet Europy. Z racji, że fizyczna lokalizacja oraz odległość jest bardzo ważnym czynnikiem w tego rodzaju testach (opóźnienia na łączach międzynarodowych i transkontynentowalnych), otrzymany wynik może nie do końca dać nam danych jakich byśmy oczekiwali, ponieważ posiadając polską stronę skierowaną do polskich użytkowników interesuje nas raczej czas ładowania na obszarze Polski niż np. Stanów Zjednoczonych.

Czy TTFB jest użyteczne ?

Mając na uwadze te oraz inne niewymienione tu czynniki takie jak np. czas odpowiedzi serwera DNS, można dojść do wniosku, iż TTFB nie jest odpowiednim sposobem mierzenia wydajności serwera ale raczej sposobem mierzenia wydajności i optymalizacji strony www. Z punktu widzenia użytkownika ważniejszy jest czas załadowania się całej strony, a nie otrzymania pierwszego bajtu, tak więc optymalizowanie swojej strony pod kątem TTFB nie zawsze wpływa pozytywnie na wydajność całej strony. Warto poszukać innych, bardziej miarodajnych metod testowania aplikacji internetowych oraz skupić się przede wszystkim na optymalizowaniu kodu (np. php) oraz liczby i „ciężkości” zapytań SQL.

Student i młodszy administrator/konsultant w Smarthost.pl. Od kilku lat wielki miłośnik Linuxa. Interesuje go wszystko co związane z cybersecurity. W wolnej chwili lubi czytać książki, w większości związane z branżą IT.

Udostępnij ten artykuł na Facebooku:

Dodaj komentarz