W sekcji Możliwości w raporcie Lighthouse podawany jest czas odpowiedzi serwera, czyli czas, który upływa od wysłania żądania przez przeglądarkę użytkownika do momentu otrzymania pierwszego bajtu treści strony:

Wolny czas reakcji serwera wpływa na wydajność
Ten audyt kończy się niepowodzeniem, gdy przeglądarka czeka na odpowiedź serwera na żądanie głównego dokumentu dłużej niż 600 ms. Użytkownicy nie lubią, gdy strony długo się wczytują. Jedną z możliwych przyczyn długiego wczytywania stron jest powolna reakcja serwera.
Gdy użytkownicy przechodzą do adresu URL w przeglądarce, wysyła ona żądanie sieciowe, aby pobrać te treści. Serwer otrzymuje żądanie i zwraca zawartość strony.
Serwer może potrzebować dużo czasu, aby zwrócić stronę ze wszystkimi treściami, których szukają użytkownicy. Jeśli na przykład użytkownicy przeglądają historię zamówień, serwer musi pobrać historię każdego użytkownika z bazy danych, a następnie wstawić te treści na stronę. Optymalizacja serwera pod kątem jak najszybszego wykonywania takich zadań to jeden ze sposobów na skrócenie czasu oczekiwania użytkowników na wczytanie stron.
Nawet jeśli serwer nie musi wykonywać wielu zadań, opóźnienie sieciowe między klientem a serwerem może powodować długi czas odpowiedzi serwera.
Jak skrócić czas odpowiedzi serwera
Pierwszym krokiem do skrócenia czasu odpowiedzi serwera jest określenie podstawowych zadań koncepcyjnych, które serwer musi wykonać, aby zwrócić zawartość strony, a następnie zmierzenie czasu trwania każdego z tych zadań. Po zidentyfikowaniu najdłuższych zadań poszukaj sposobów na ich przyspieszenie.
Istnieje wiele możliwych przyczyn powolnych odpowiedzi serwera, a co za tym idzie – wiele sposobów na poprawę tej sytuacji:
- Zoptymalizuj logikę aplikacji serwera, aby szybciej przygotowywać strony. Jeśli używasz platformy serwera, być może w jej dokumentacji znajdziesz odpowiednie wskazówki.
- Zoptymalizuj sposób, w jaki serwer wysyła zapytania do baz danych, lub przeprowadź migrację do szybszych systemów baz danych.
- Uaktualnij sprzęt serwera, aby zwiększyć ilość pamięci lub liczbę procesorów.
Używaj sieci CDN, aby zmniejszyć opóźnienie sieci. Jest to szczególnie skuteczne, jeśli dokument można buforować w węźle brzegowym sieci CDN.
Więcej informacji znajdziesz w przewodniku Optymalizacja czasu TTFB.
Wskazówki dotyczące konkretnych stosów
Drupal
Odciąż ruch za pomocą co najmniej 1 modułu buforowania w systemie Drupal
takiego jak Internal Page Cache
, Internal Dynamic Page Cache
i BigPipe
. Aby jeszcze bardziej skrócić czas odpowiedzi, połącz je z siecią CDN. Na serwerach hostujących należy używać PHP OPcache. Rozważ użycie pamięci podręcznej pamięci RAM (np. Redis lub Memcached), aby skrócić czas zapytań do bazy danych. Na koniec użyj wydajnych motywów, modułów i szybszych serwerów, aby skrócić czas reakcji serwera.
Magento
Skorzystaj z integracji Varnish z Magento.
React
Jeśli renderujesz komponenty React po stronie serwera, proponujemy używanie metod renderToNodeStream()
lub renderToStaticNodeStream()
, by umożliwić klientowi odbieranie i rozwijanie poszczególnych części kodu zamiast całego naraz.
WordPress
Wybierz lekki motyw (najlepiej motyw blokowy) i wdróż buforowanie pełnych stron lub rozwiązanie do witryn statycznych. Wyłącz niepotrzebne wtyczki, aby zminimalizować obciążenie serwera.
Sugerujemy przejście z hostingu na usługę zarządzaną lub dedykowaną.