photo 1499290731724 12e120cfaef3

Jak zmniejszyć TTFB (Time To First Byte)? 10 sposobów na skrócenie czasu reakcji serwera

Na czas wczytywania strony internetowej wpływa wiele rzeczy. Może chodzić o zbyt dużą ilość skryptów JavaScript które blokują renderowanie strony, może chodzić o zbyt duże zdjęcia. Coraz częściej zdarza się, że problemem są wartości Podstawowych Wskaźników Internetowych (Core Web Vitals). Jedną z najmniej branych pod uwagę przy optymalizacji strony kwestią są działania mające na celu poprawę TTFB czyli czasu potrzebnego na wczytanie pierwszego bajta danych. Zapraszam do przeczytania poradnika przygotowanego przez Mateusza Mazurka z jakwybrachosting.pl.


Długi czas reakcji serwera często sprawia, że strona internetowa ładuje się powoli lub z opóźnieniami. Kwestia TTFB – czyli czasu potrzebnego na rozpoczęcie ładowania strony – jest związana przede wszystkim z parametrami hostingu. Zobacz, na co zwrócić uwagę, aby móc liczyć na niskie TTFB.

TTFB (czyli Time To First Byte) to parametr określający czas reakcji serwera. Odnosi się on do czasu pomiędzy kliknięciem w link, a pierwszą reakcją ze strony serwera – a dokładniej otrzymaniem pierwszego bajtu danych. 

Warto pamiętać, że TTFB to czynnik, na który ogromny wpływ mają parametry serwera. Ale które dokładnie? I jak w praktyce możesz zmniejszyć TTFB?

#1 Zapewnij sobie przydział CPU i RAM

Podobnie jak w przypadku komputera, także wybierając serwer, trzeba przyjrzeć się jego najważniejszym parametrom – procesorowi oraz pamięci operacyjnej. Niestety rzadko który dostawca usług hostingowych przedstawia, na jakiej maszynie postawiony jest serwer.

Nie oznacza to, że masz związane ręce. Możesz wybrać serwer, który zapewnia Ci minimalny przydział mocy obliczeniowej i pamięci operacyjnej. Oznacza to, że nawet w momencie zwiększonego obciążenia serwera, możesz liczyć na określone zasoby. 

Aby zadbać o niski TTFB, wybierz hosting, na którym możesz liczyć przynajmniej na 1 GHz (lub 1 rdzeń) procesora oraz 1 GB pamięci operacyjnej RAM.

#2 Wybierz serwer z szybkim dyskiem

Podobnie jak procesor oraz pamięć operacyjna, także dysk twardy jest jednym z najważniejszych parametrów serwera. To właśnie na nim znajdują się pliki Twojej strony internetowej. Jeżeli dysk będzie wolny – to TTFB się wydłuży.

W związku z tym, aby zapewnić sobie jak najszybszą reakcję serwera, warto odejść od klasycznych dysków talerzowych typu HDD. Decydując się na nośniki SSD – a w szczególności SSD NVMe – możesz liczyć na nawet kilkanaście razy szybszy odczyt plików.

Różnice w szybkości poszczególnych generacji dysków są naprawdę zauważalne. (photographylife.com)

image1

#3 Uważaj na limity procesów PHP

To, że korzystanie z Twojego hostingu wiąże się z rozmaitymi limitami, jest zupełnie normalne. Gorzej, jeżeli są one zbyt uciążliwe i w konsekwencji doprowadzają do poważnego spowolnienia strony. Tak jest przede wszystkim w przypadku limitu procesów PHP. 

Jeżeli limit ten jest na zbyt niskim poziomie – np. poniżej 10 jednoczesnych procesów PHP – to gdy kilkanaście lub kilkadziesiąt osób korzysta z Twojej strony, może prowadzić do powstawania rozmaitych zatorów. Zapytania generowane przez użytkowników – związane czy to z samym wyświetleniem strony, czy z poruszaniem się po stronie – muszą oczekiwać w kolejce na realizację.

W związku z tym pamiętaj, że 10 jednoczesnych procesów PHP to absolutne minimum, żeby nie odbiło się to na słabym TTFB. A jeżeli chcesz liczyć na najwyższą wydajność – dobrze jest rozejrzeć się za pakietem bez takiego limitu.

#4 Korzystaj z aktualnej wersji PHP

Gdy mowa o PHP, pamiętaj o tym, że istotny jest nie tylko limit jednoczesnych procesów – ale także sama wersja interpretera zainstalowanego na serwerze. Aby TTFB był jak najmniejszy – powinna to być najbardziej aktualna odsłona języka.

Dlaczego? Otóż każda z aktualizacji wiąże się z licznymi poprawkami nie tylko w zakresie bezpieczeństwa, ale także wydajności. Benchmarki poszczególnych odsłon pokazują, że serwery z nowszym PHP po prostu reagują szybciej.

image3

To porównanie pokazuje, jak nowe wersje PHP zwiększają wydajność procesora na serwerze. (openbenchmarking.org)

Pamiętaj, że każda wersja PHP ma swój “cykl życia”. Oznacza to, że po wprowadzeniu nowej odsłony, jest ona wspierana przez ok. 24 miesiące. Po tym czasie jeszcze przez rok otrzymuje wyłącznie podstawowe łatki bezpieczeństwa. Warto zwracać uwagę na to, aby wersja obsługiwana przez serwer była zawsze tą najnowszą.

Popularny system WordPress w najnowszej wersji wspiera również aktualną najnowszą wersję PHP, jednak problem może pojawić się z niektórymi wtyczkami czy starszymi motywami, które nie są już wspierane i aktualizowane. W takim wypadku warto skorzystać z najnowszej wersji PHP, pod którą wszystkie motywy i wtyczki nadal działają prawidłowo. W dłuższej perspektywie warto jednak zmienić wtyczki czy motyw WordPressa, aby nadążał za aktualizacjami.

#5 Używaj najnowszej odsłony HTTP

Trzeba pamiętać nie tylko o aktualizacji PHP, ale także o korzystaniu z nowych wersji protokołu HTTP. Ten protokół jest wykorzystywany do nawiązywania połączeń internetowych i od niego zależy m.in. szybkość nawiązania połączenia.

Przejście na HTTP/2 to absolutna podstawa dla nowoczesnej strony internetowej – obecnie wersja HTTP 1.1 śmiało może zostać uznana za archaiczną. Jednak, jeżeli zależy Ci na zminimalizowaniu TTFB, lepiej jest od razu korzystać z HTTP/3 – opartego na szybkim i wydajnym protokole QUIC

Żeby Twoja strona mogła się wyświetlać z wykorzystaniem HTTP/3, obsługa HTTP/3 musi być włączona w przeglądarce użytkownika – jednak najważniejsze przeglądarki już są przystosowane do tego protokołu. Zatem – musisz tylko zadbać o to, aby Twój hosting obsługiwał ten protokół.

#6 Korzystaj z systemów pamięci podręcznej

Redis oraz Memcached to nazwy silników pamięci podręcznej, które zdecydowanie zmniejszają obciążenie zasobów serwera. Dzięki nim interpreter PHP nie musi każdorazowo wysyłać zapytania do bazy MySQL i oczekiwać na zwrócenie wyniku – może korzystać z danych, które ma “pod ręką” – w pamięci szybkiego dostępu. 

Silniki pamięci podręcznej na serwerze są w stanie zdecydowanie przyspieszyć działanie strony. Mają one także duże znaczenie dla samego TTFB – odciążony interpreter reaguje znacznie szybciej. Jednak, żeby było to możliwe, serwer musi obsługiwać taką technologię.

Aby skorzystać z benefitów, jakie daje Redis lub Memcached nie wystarczy jednak sam serwer, który obsługuje którąś z tych technologi. Trzeba także odpowiednio dostosować stronę WWW. W przypadku WordPressa wystarczy do tego celu wykorzystać odpowiednią wtyczkę taką jak np. Redis Object Cache. Opcję włącznie Redis znajdziesz także w niektórych wtyczkach do cache czy optymalizacji WordPressa, jako jedna z opcji do włączenia.

#7 Wybierz serwer najbliżej Twoich odbiorców

Warto mieć świadomość, że umiejscowienie serwera ma wpływ na czas reakcji serwera. Kluczowa jest odległość pomiędzy przeglądarką użytkownika a hostingiem, na którym umieszczona jest strona. Jeżeli są one w tym samym kraju – to czas reakcji serwera może wynieść od kilku do kilkunastu milisekund. Gdy odległość wzrasta – także czas reakcji wydłużą się nawet do kilkudziesięciu milisekund. 

Zatem lokalizacja serwera niedostosowana do grupy docelowej może być przyczyną wydłużonego TTFB. Jeżeli chcesz ograniczyć opóźnienia w tej kwestii, warto zadbać o to, aby strona przeznaczona dla polskich odbiorców – była umieszczona na serwerze zlokalizowanym w Polsce (lub chociaż w Europie).

A jeżeli odbiorcy Twojej strony pochodzą z całego świata – w takiej sytuacji zdecyduj się na CDN, czyli Content Delivery Network. Taki system serwerów rozproszonych po całym świecie ma za zadanie zminimalizowanie opóźnień w ładowaniu strony internetowej użytkownikom bez względu na ich lokalizację. Jednym z rozwiązań może być częściowo darmowy Cloudflare.

#8 Używaj szybkiego oprogramowania

Wybierając hosting, przyjrzyj się także samemu oprogramowaniu serwerowemu. Ono także ma ogromny wpływ na TTFB. Najczęściej stosowanym programem serwerowym jest Apache. To rozwiązanie stabilne o bardzo szerokich możliwościach rozbudowy (dzięki dodatkowym modułom), jednak – gdy chodzi o wydajność, ustępuje ono innym typom oprogramowania.

Nginx lub LiteSpeed to oprogramowanie serwerowe, które cechuje znacznie wyższa wydajność. Wystarczy spojrzeć na poniższe zestawienie.

image2

Ile żądań na sekundę są w stanie przetworzyć poszczególne programy serwerowe. (wpspeedmatters.com)

Mniejsze obciążenie zasobów serwera sprawia, że hosting reaguje szybciej na zapytania generowane przez użytkowników. W konsekwencji – maleje także TTFB. 

W przypadku korzystania z hostingu opartego na LiteSpeed możemy też znacznie zmniejszyć TTFB poprzez instalacje wtyczki do WordPressa LiteSpeed Cache for WordPress (LSCWP). Zapewnia ona cache, zmniejszenie wagi zdjęć i optymalizację kodu strony (HTML/CSS/JS), co znacznie przyspieszy jej ładowanie. Podobne wtyczki / dodatki od twórców LiteSpeed dostępne są także dla PrestaShop, Magento, Joomla czy Drupal.

#9 Wyłącz zbędne wtyczki i dodatki

Według danych W3Tech ponad 65% stron WWW w całym Internecie opartych jest o system WordPress. A jedną z największych zalet WordPressa jest wsparcie poprzez ogromną ilość darmowych dodatków i wtyczek, które pozwalają rozbudować stronę WWW i dodać do niej nowe funkcje.

Niestety, każda wtyczka czy dodatek to dodatkowy kod na stronie, który serwer musi przetworzyć, zanim wyświetli ją w przeglądarce użytkownika. A to zajmuje czas.

Walcząc o niższy TTFB, zrób uczciwy przegląd używanych wtyczek i wyłącz oraz usuń te, które nie są absolutnie niezbędne do działania strony WWW. Efekty zauważysz często gołym okiem.

#10 Pamiętaj o cache

Wspominałem o tym w jednym z poprzednich punktów, ale jest to temat na tyle istotny, że muszę poświęcić mu osobny akapit.

Jeśli już wybierzesz szybki i wydajny hosting i pozbędziesz się zbędnych i obciążających Twoją stronę wtyczek i dodatków, to ostatnie co pozostaje Ci zrobić to zminimalizowanie czasu generowania się samej strony. A zrobić to możesz za pomocą cache.

Cache to pamięć podręczna, w której zapisywana jest „statyczna” wersja strony WWW, aby wykorzystać ją ponownie przy kolejnych odwiedzinach. Dzięki temu serwer nie musi przy każdych odwiedzinach od nowa pytać bazy danych o wszystkie informacje, wykonywać skryptów i „generować” strony w locie, co znacznie wydłuża TTFB. Jeśli dana strona się nie zmienia, można wygenerować jej statyczną kopię i to właśnie ją serwować kolejnym odwiedzającym.

W przypadku WordPressa sprawa cache jest prosta, bo wystarczy skorzystać z jednej z dziesiątek wtyczek, które mają za zadanie tworzyć i przechowywać kopię każdej podstrony.

O jednej z nich już wspominałem wcześniej (LiteSpeed Cache). Z innych popularnych dodatków do WP tego typu, mogę polecić: W3 Total Cache, WP Fastest Cache czy WP Super Cache.

Przedstawiłem Ci kilka najważniejszych elementów wpływających na czas reakcji serwera. Jak widzisz – możesz je dostrzec już na etapie wyboru pakietu hostingowego. Gdy zatem zależy Ci na niskim TTFB – najlepiej od razu przejść do analizy oferty serwera i wdrożyć niezbędne zmiany na stronie WWW. 

Autor: Mateusz Mazurek. Przedsiębiorca internetowy. Kiedyś freelancer SEO i właściciel agencji SEO/SEM. Dziś głównie wydawca i autor blogów i stron internetowych. Twórca projektu Jak Wybrać Hosting, w ramach którego testuje, sprawdza i recenzuje usługi hostingowe.

Wpis gościnny.

Komentarze

Jedna odpowiedź do „Jak zmniejszyć TTFB (Time To First Byte)? 10 sposobów na skrócenie czasu reakcji serwera”

  1. Awatar Andrzej
    Andrzej

    Dobre porady. Można jeszcze dodać optymalizację zapytań do bazy SQL by się szybciej wykonywały.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *